[Cin] 10bit VAAPI encoding preset

Andrew Randrianasulu randrianasulu at gmail.com
Thu Nov 14 00:59:58 CET 2024


On Thu, Nov 14, 2024 at 1:35 AM Terje J. Hanssen <terjejhanssen at gmail.com>
wrote:

>
>
>
> 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.
>
>
At least we  found correct place to modify!

I'll try to make something better tomorrow


>
>
>
>
>> 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/20241114/ff8e7a6b/attachment-0001.htm>


More information about the Cin mailing list