[Cin] 10bit VAAPI encoding preset

Terje J. Hanssen terjejhanssen at gmail.com
Wed Nov 13 23:35:53 CET 2024




Den 13.11.2024 16:10, skrev Andrew Randrianasulu:
>
>
> ср, 13 нояб. 2024 г., 17:54 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 13.11.2024 14:31, skrev Andrew Randrianasulu:
>>
>>
>>     ср, 13 нояб. 2024 г., 15:17 Terje J. Hanssen via Cin
>>     <cin at lists.cinelerra-gg.org>:
>>
>>         After finishing the three hevc_qsv presets for _8b420,
>>         _10b420 and _10b422 mp4
>>         https://lists.cinelerra-gg.org/pipermail/cin/2024-November/009039.html
>>
>>         I thought to do the corresponding for hevc_vaapi
>>
>>         However I am struggling to get 10bit 422 output rendered from
>>         Cingg, which so far falls back to 10bit 420 chroma subsampling
>>
>>         fprobe -hide_banner hd01_hevc_vaapi_10b422.mp4
>>           Duration: 00:01:11.20, start: 0.000000, bitrate: 11082 kb/s
>>           Stream #0:0[0x1](und): Video: hevc (Main 10) (hev1 /
>>         0x31766568), yuv420p10le(tv, bt709/unknown/unknown, top coded
>>         first (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], 11080 kb/s,
>>         25 fps, 25 tbr, 12800 tbn (default)
>>
>>
>>         In a previous thread I proved that ffmpeg hevc_vaapi encoding
>>         has this 10bit-422 capability
>>         3) 10-bit yuv422p10le hevc_vaapi encoding using -vf
>>         'format=y210,hwupload'
>>         https://lists.cinelerra-gg.org/pipermail/cin/2024-November/008982.html
>>
>>
>>         And yes, there was also issues before hevc_qsv_10b422.mp4
>>         combinations Pixel format/profile finally succeeded.
>>         But here are some differences, yet. While hevc_qsv provided a
>>         Pixels drop down menu with pixel formats,
>>         hevc_vaapi just has a single "vaapi" pixel format.
>>
>>         Any idea why, and what can fulfill the vaapi 10bit 422
>>         encoding here?
>>
>>
>>
>>     I have some idea (hack add some pixel formats to hevc_vaapi, will
>>     only be usable with internal ffmpeg)
>
>     Just to clarify: my tests vaapi tests and qsv tests are run on
>     Cingg with the onevpl patch and internal ffmpeg
>>
>>     but for now you can try to modify same place my 10bit encoding
>>     patch modified, just with yuv422p10 instead of 420p10.
>
>     Exactly how and where?
>
>
>
> there should be line (after you patch cingg with 10bit patch) in 
> cinelerra/ffmpeg.C
>
> if (tenbit_enc) frames_ctx->sw_format = AV_PIX_FMT_P010LE;
>
> you need to replace AV_PX_FMT part...
>
> with AV_PIX_FMT_Y210LE ?
>
> recompile cingg
>
> now when you set
>
> export CIN_10BIT_ENC=1
>
> before launching cin
>
> it *may be* will give you y422 10bit encoding for hevc_vaapi.
>
>

Yes, but too much. Now it seems like all presets based on nv12, p010le 
and y210le respectively end up as yuv422p10le format.




>>
>>     sorry, a bit busy with other issues.
>>
>>
>>
>>
>>
>>         -- 
>>         Cin mailing list
>>         Cin at lists.cinelerra-gg.org
>>         https://lists.cinelerra-gg.org/mailman/listinfo/cin
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241113/90018940/attachment.htm>


More information about the Cin mailing list