INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC  (Read 11708 times)

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« on: October 18, 2015, 12:37:14 pm »

I have my Cinema PC attached to a Samsung 65JS9500 SUHD monitor on HDMI 2.0 ports (out from Nvidia GTX 960, in to Samsung One Connect Box). I chose the GTX 960 for its hardware decoding of h.265 HEVC. I've tried to play back a Samsung demo file, 2160p60 HEVC, with mixed results. MPC-HC plays it back smoothly, using the GPU. JRMC21 does not play the file back smoothly, and seems not to really use the GPU. I've tried Red October Standard, Red October HQ, Custom/EVR, Custom/MadVR... and I have verified that the LAV filters are set to use Nvidia hardware decoding for HEVC and for UHD. In all cases, JRMC21 fails to play such a file smoothly.
Any ideas for how to get smooth UHD HEVC playback with such a GPU in JRMC21?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72548
  • Where did I put my teeth?
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #1 on: October 18, 2015, 03:07:23 pm »

In MC's video settings, please try the option for Hardware Acceleration.
Logged

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #2 on: October 18, 2015, 06:13:43 pm »

In MC's video settings, please try the option for Hardware Acceleration.


Thank you. Of course, that was done before I posted. It does seem MC is using the GPU, but only a little bit compared to (for example) MPC-HC, even with LAV used by both.
Logged

Manfred

  • Citizen of the Universe
  • *****
  • Posts: 1038
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #3 on: October 19, 2015, 06:15:20 am »

I have also an GTX 960, EVGA 4 GB SSC+ model.
I have no 4k, but all BD's and DVD run smooth at low GPU utilization, typically 10 -20%.

I would check the following:
1. Do BD's and DVD's play smooth (CPU utilization on my i7 <10%, all transcoding done by the GPU) using MC upscaling capabilities or the the Samsung uscaling capabilities?
2. Check your Display Settings Video->Options->DisplaySettings (On) or define custom settings. Which is the frequency configured for the Samsung TV - 60Hz?
3. Enable Video Clock under Video
4. If you us MC Video Clock don't use madVR to do switching display settings

Best regards Manfred

Logged
WS (AMD Ryzen 7 5700G, 32 GB DDR4-3200, 8=2x2+4 TB SDD, LG 34UC98-W)-USB|ADI-2 DAC FS|Canton AM5 - File Server (i3-3.9 GHz, 16GB ECC DDR4-2400, 46 TB disk space) - Media Renderer (i3-3.8 GHz, 8GB DDR4-2133, GTX 960)-USB|Devialet D220 Pro|Audeze LCD 2|B&W 804S|LG 4K OLED )

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #4 on: October 19, 2015, 06:17:14 am »

4K hardware acceleration is currently not turned on since there were a couple issues in the past, however those should hopefully all be fixed, so I've turned it on for the next build.
Using Red October Standard or HQ should then automatically result in 4K HEVC content to be accelerated, assuming you have the Hardware accelerated decoding checkbox activated.
Logged
~ nevcairiel
~ Author of LAV Filters

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #5 on: October 19, 2015, 08:05:43 am »

1. Thanks, Manfred. Everything plays smoothly except 4k HEVC.
2. Thanks, Hendrik. I eagerly await testing 4k HEVC in the next build.
Logged

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #6 on: October 20, 2015, 09:12:49 am »

Build 20.0.17 has been released.

Quote
21.0.17 (10/20/2015)
3. Changed: 4K Hardware accelerated decoding is enabled in Red October.
Logged

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #7 on: October 20, 2015, 11:07:49 am »

Version 21.0.17 does say, "3. Changed: 4K Hardware accelerated decoding is enabled in Red October." However, that still does not work. There is no change from the previous version in that regard. UHD HEVC videos that play with GPU acceleration in other programs do not play with GPU acceleration in JRMC21.0.17.

MC Video Options:
Red October Standard (recommended)
Hardware accelerate video decoding when possible - checked

Nvidia 960GTX usage monitored via ASUS GPU Monitor.
Test video is a Samsung SUHD Quality Demo encoded in HEVC and contained in an MP4 file. It plays, but halts and stutters and loses audio sync. May be displaying about 14 frames per second on average.
Other test videos at UHD resolution but encoded in h.264 do play smoothly, because they don't require the GPU assistance to do so. Nvidia 960GTX does have GPU HEVC decoding, but MC doesn't employ it yet. LAV does, but not in MC.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #8 on: October 20, 2015, 04:51:01 pm »

I just tried again to make sure, and HEVC 4K content is hardware accelerated properly on my GTX960 using MC in Red October Standard or HQ.
Logged
~ nevcairiel
~ Author of LAV Filters

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #9 on: October 20, 2015, 05:27:25 pm »

I just tried again to make sure, and HEVC 4K content is hardware accelerated properly on my GTX960 using MC in Red October Standard or HQ.

Thank you for checking. Your message is both encouraging and perplexing. Can you suggest settings I might look for to overcome the fact that HEVC UHD content is not being HW-accelerated with my 960GTX?

JRMC21.0.17 settings:
Red October
Hardware accelerate checked

LAV filters, HEVC checked
Logged

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #10 on: October 20, 2015, 10:18:39 pm »

I've done more evaluating, in hopes of gaining some clues about this mystery. Different files behave differently in MC and MPC-HC (some play smoothly in the former, some in the latter). Here's data on two files, the first of which won't play in MC without choking and sputtering, but does play in MPC-HC smoothly. The second file plays smoothly in both programs.

File 1:
Complete name: Samsung_SUHD_Picture_Quality Demo_Nano_Crystal Display_UK-Version.mp4
Format: hvc1
Codec ID: hvc1
Video ID: 3
Format: HEVC
Format/Info: High Efficiency Video Coding
Format profile: Main 10@L5.1@High
Codec ID: hvc1
Codec ID/Info: High Efficiency Video Coding
Bit rate: 50.0 Mbps
Maximum bit rate: 90.3 Mbps
Width: 3 840 pixels
Height: 2 160 pixels
Frame rate: 29.970 fps
Color space: YUV
Chroma subsampling: 4:2:0
Bit depth: 10 bits
Color range: Limited
Color primaries: BT.2020
Matrix coefficients: BT.2020 non-constant

File 2:
Complete name: 4K-TCL-H265.mp4
Format: MPEG-4
Format profile: Base Media / Version 2
Codec ID: mp42
Video ID: 2
Format: HEVC
Format/Info: High Efficiency Video Coding
Format profile: Main@L5.1@High
Codec ID: hvc1
Codec ID/Info: High Efficiency Video Coding
Bit rate: 46.4 Mbps
Width: 3 840 pixels
Height: 2 160 pixels
Frame rate: 29.970 fps
Standard: Component
Color space: YUV
Chroma subsampling: 4:2:0
Bit depth: 8 bits
Bits/(Pixel*Frame): 0.187
Writing library: x265 unknown:[Windows][MSVC 1700][64 bit]
Color range: Limited
Color primaries: BT.709
Transfer characteristics: BT.709
Matrix coefficients: BT.709

In all cases, the CPU is getting worked very hard, and the GPU is not getting worked very hard. But in the case of File 1, when playing back via MC, the CPU is maxing out and the GPU is practically at idle levels; when playing back via MPC-HC, the CPU is highly-used and the GPU is moderately used. For the relatively simpler File 2, when playing back via either program, the CPU is moderately-used and the GPU is lightly used.

I've tested with LAV filters set to CUVID HW Accel and DXVA2 (Native) HW Accel. Similar results.

Any ideas for things I should check or try, I'm eager to learn what might cause this and how to correct it. My understanding is that the typical results with a GTX960 playing back HEVC is that the GPU works at decoding and the CPU is hardly tasked. Not at all what is happening on my system...
Logged

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #11 on: October 21, 2015, 12:06:28 am »

More troubleshooting:

I uninstalled and re-installed JRMC21.0.17.
I set video options to Red October Standard with Hardware Acceleration.
I played multiple UHD video files
     - h.264 AVC
     - h.265 HEVC BT.709
     - h.265 HEVC HDR BT.2020

Same results as before. Consistently, the hardware acceleration works (and thus offloads CPU) with some of the formats. But just as consistently, the hardware acceleration does nothing and the CPU bears the full load of decoding for playback of any h.265 HEVC HDR BT.2020 video.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #12 on: October 21, 2015, 02:06:54 am »

The first file is 10-bit, for various reasons it may actually work better in Red October HQ right now.
I have changed some things for the next version that should hopefully make 10-bit files play properly in RO Standard as well.
Logged
~ nevcairiel
~ Author of LAV Filters

IAM4UK

  • World Citizen
  • ***
  • Posts: 242
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #13 on: October 21, 2015, 08:51:57 am »

The first file is 10-bit, for various reasons it may actually work better in Red October HQ right now.
I have changed some things for the next version that should hopefully make 10-bit files play properly in RO Standard as well.

Confirmed! While Red October Standard does not employ the GPU for HEVC HDR, the Red October HQ setting does. The result is PHENOMENAL! Best image quality I have ever seen, and the CPU (quad-core i5) stays below about 30%. The GPU averages about 50%, with a peak of about 75%.
Thank you very much for following up on these posts. I now know that my hardware (brand new graphics card) does not have a defect and does not have to be returned or exchanged. I also have, thanks to your help, a way (ROHQ) to view these amazing UHD HDR clips.
I appreciate your efforts and assistance, Hendrik.
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #14 on: October 21, 2015, 10:28:23 am »

Glad it works now!
Logged
~ nevcairiel
~ Author of LAV Filters

mojave

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3732
  • Requires "iTunes or better" so I installed JRiver
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #15 on: October 21, 2015, 10:47:29 am »

They used 4:2:0 chroma subsampling on those clips to save on file size. While it isn't as visible when viewed by itself, you can see a color difference when compared to the original or even 4:2:2. Here is a good webpage allowing one to see the differences:  CHROMA SUBSAMPLING TECHNIQUES.

So while the result is PHENOMENAL, it can still get better.  :)
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10970
Re: How to Get JRMC21 to use GPU (Nvidia GTX 690) for HEVC
« Reply #16 on: October 21, 2015, 11:22:51 am »

So while the result is PHENOMENAL, it can still get better.  :)

It won't, though. Not to mention that you are then back at square one in regards to speed, since hardware decoders are limited to 4:2:0
Should be happy that we have 10-bit in hardware this time around, which will allow BT.2020 for a much higher color spectrum (once screens can actually show that properly, in a couple years).

On 4K, the subsampling problem is much less obvious than it was at 1080p though, because resolution was doubled, but screen size was not (usually) - so you get a higher DPI, which also means more chroma per inch, even if its subsampled!
Logged
~ nevcairiel
~ Author of LAV Filters
Pages: [1]   Go Up