This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

HDR encoding
#21
Send you a link to a dev version for testing.

Cu Selur
Reply
#22
(06.09.2017, 18:27)Selur Wrote: Send you a link to a dev version for testing.

Cu Selur

Could you please take care of this in Hybrid? (I got the info from Donald Graft 5 minutes ago!):

"Re: HEVC main10 decoding support

Yes, it is possible. Use the fulldepth parameter to DGSource. From the user manual:

fulldepth: true/false (default: false)
When fulldepth=true and the encoded video is HEVC 10-bit or 12-bit, then DGSource() delivers 16-bit data to Avisynth+ with the unused lower bits zeroed. The reported pixel format is CS_YUV420P16. If either of the two conditions are not met, then DGSource() delivers 8-bit YV12 or I420 data, as determined by the i420 parameter. When fulldepth=false and the video is HEVC 10-bit or 12-bit, then the video is dithered down to 8-bit for delivery. If you need a reduced color space (less than 16 bits) for your high-bit-depth processing, you can use ConvertBits() as needed after your DGSource() call."
Reply
#23
Can't be done in Hybrid atm. since Hybrid doesn't use Avisynth+, in case it is possible in Vapoursynth I could adjust Hybrid to support it when Vapoursynth is used.

Cu Selur

Ps.: Quick code check: FFmpegSource wouldn't be used for high depth input since it always outputs 8bit.
Reply
#24
(06.09.2017, 19:32)Selur Wrote: Can't be done in Hybrid atm. since Hybrid doesn't use Avisynth+, in case it is possible in Vapoursynth I could adjust Hybrid to support it when Vapoursynth is used.

Cu Selur

Ps.: Quick code check: FFmpegSource wouldn't be used for high depth input since it always outputs 8bit.

Please let me know if you were successful with Vapousynth. I would really appreciate if you could make Vapoursynth to support main10, main12 GPU assisted decoding via DGDecNV.
I do not know Vapoursynth, I did not even know Hybrid supported that, so in case of success I would need some support what to change in Hybrid to work.

Quote:Ps.: Quick code check: FFmpegSource wouldn't be used for high depth input since it always outputs 8bit.

This means my last test encode to main12 is "damaged". I will encode both SD, HD sources to main10, UHD sources to main10/12 hopefully with your Vapousynth and DGDecNV. They are my only hope.
Reply
#25
Vapoursynth can be used instead of Avisynth (see: *hidden* Hybrid options,... on how to enable it).
-> Will look into the Vapoursynth support in the next days and report back.
Quote:This means my last test encode to main12 is "damaged".
No, Hybrid should have used LWLibavSource which should support high bit depth without a problem.

Cu Selur
Reply
#26
Quote:-> Will look into the Vapoursynth support in the next days and report back.
Thank you very much for your efforts!
Reply
#27
Send you a link to a dev version for testing.
Not sure that it works since I can't test it. No hardware which supports HEVC GPU decoding.
I checked, anything that could replace my current watercooled GeForce GTX 980ti for a reasonable price. Sad
I need three displayports and one HDMI port to feed my setup (HP Z27q, LG 34UM94C-P, Onky TX-SR508).
Only thing that would work would be a GeForce GTX 1080, 1080i or even pricier cards.
-> not in my IT budget any time soon, so if it doesn't work create a debug output (level 9).

Cu Selur
Reply
#28
(07.09.2017, 18:55)Selur Wrote: Send you a link to a dev version for testing.
Not sure that it works since I can't test it. No hardware which supports HEVC GPU decoding.
I checked, anything that could replace my current watercooled GeForce GTX 980ti for a reasonable price. Sad
I need three displayports and one HDMI port to feed my setup (HP Z27q, LG 34UM94C-P, Onky TX-SR508).
Only thing that would work would be a GeForce GTX 1080, 1080i or even pricier cards.
-> not in my IT budget any time soon, so if it doesn't work create a debug output (level 9).

Cu Selur

Hybrid doesn't use in this new version DGDecodeNV for decoding but still software decoding.
The latest DGDecodeNV package does not include NV12ToRGB24.cubin.
Crop window doesn't open after indexing, so I cannot crop the sources.
I don't understand why these paramterers are used by Vapoursynth when the source is HDR10 and Rec.2020:

Quote:# making sure input color matrix is set as 709
clip = core.resize.Point(clip, matrix_in_s="709")
# making sure input color range is set to TV (16-235) scale.
clip = core.std.SetFrameProp(clip=clip, prop="_ColorRange", intval=1)
# adjusting output color from: YUV420P16 to YUV420P8
clip = core.resize.Bicubic(clip=clip, format=vs.YUV420P8)
# Output
clip.set_output()
Reply
#29
Will look at the debug output later. Earliest in 3 hours, reading the debug output on a mobile is just too much pain.
16bit is used since both LwLibAvSource and DGSource return 16 bit for everything above 8 bit. 420 is used since that is the color sampling of your source.
709 is probably used since that is what Hybrid detected. Will know more once I look at the debug output. As a side note: Unless you do RGB<>YUV concersions, the matrix doesn't matter.

Cu Selur
Reply
#30
Had a quick look at did some adjustments, color matrix should now be detected correctly.
DebugLog shows that DGSource was used, so that seems to work,.. Smile
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)