OpenVisualCloud / SVT-HEVC

SVT HEVC encoder. Scalable Video Technology (SVT) is a software-based video coding technology that is highly optimized for Intel® Xeon® processors. Using the open source SVT-HEVC encoder, it is possible to spread video encoding processing across multiple Intel® Xeon® processors to achieve a real advantage of processing efficiency.
Other
507 stars 169 forks source link

Counld ffmpeg_plugin support HDR10? #583

Open felixyangtw opened 3 years ago

felixyangtw commented 3 years ago

Hi: I would like use SVT-HEVC to encode HDR10 Video. I found only the parameter -hdr, and it seems to signal the video is HDR. However, the parameters MaxCLL, MaxFALL, UseMasterDisplay, MasterDisplay ... etc are not defined in ffmpeg_plugin. Is it possible to add them in ffmpeg_plugin?

tianjunwork commented 3 years ago

Hi @felixyangtw, yes, we can expose them through ffmpeg. Meanwhile, could you verify your needs with these interfaces by the sample app? And let us know the cli?

felixyangtw commented 3 years ago

Hi: I often use ffmpeg to do the HDR10 encoding because the HDR information are stored in the container and SEI message. By the way, dos SVT-HEVC support smpte 2084? I think HDR10 need it. The following is the example that I use ffprobe to probe a HDR10 Video.

Program 1 Stream #0:0[0x101]: Video: hevc (Main 10) ([36][0][0][0] / 0x0024), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 59.94 fps, 59.94 tbr, 90k tbn, 59.94 tbc Stream #0:10x102: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 192 kb/s felix@Felix-NB:~/prog_wor

tianjunwork commented 3 years ago

Hi, Below are the static settings in VUI if -hdr (HDR10) is set. https://github.com/OpenVisualCloud/SVT-HEVC/blob/master/Source/Lib/Codec/EbResourceCoordinationProcess.c#L392. I think SMPTE ST2048 is a typo which means SMPTE ST2084. Please verify using the sample app if encoder provides all the interfaces you need for your work, before we expose anything through ffmpeg. Thank you. Encoder parameters

felixyangtw commented 3 years ago

Hi: Thanks. I read https://github.com/OpenVisualCloud/SVT-HEVC/blob/master/Source/Lib/Codec/EbResourceCoordinationProcess.c#L392 and compare with HEVC standard. The code" vuiPtr->transferCharacteristics = 16" is right, but the standard says it is "SMPTE ST 2084", and this is FYI. I will use sample app to test and I hope can see the updated ffmpeg_plugin for HDR10 quickly. Thanks for your help!

tianjunwork commented 3 years ago

Sure, let us know the test result.