[Cin] 10bit VAAPI encoding test thread continued

Terje J. Hanssen terjejhanssen at gmail.com
Thu Nov 7 22:53:38 CET 2024




Den 07.11.2024 20:41, skrev Andrew Randrianasulu:
>
>>
>>
>>
>>     sorry I mean set like this
>>     export CIN_10BIT_ENC=1
>>
>>
>
>     Now hevc_vaapi was able to render to yuv420p10le, that is 10-bit
>     420p, by selecting pixels p010le.
>     Also rendering with pixels y210 resulted in yuv420p10le, that is
>     not 10-bit 422p as for hevc_qsv below.
>
>     I would assume this is caused due to the incomplete hevc_vapi.mp4
>     preset as shown below?
>
>
> More like incomplete code that does not yet know how to get custom 
> format ... so far as name says it only adds 10bit 4:2:0  encoding, not 
> 4:2:2 subsampling.
>
> can you test other vaapi/qsv profiles too?
>
>
> also with test picture actually containing more than 8bit values? ;)

To the latter; the input file cfhd01.mkv was 10bit 422: yuv422p10le

Maybe have a look at and compare with the hevc_qsv code that managed 
10bit 422: yuv422p10le?


> (probably made up something in GIMP 2.10, save as tiff/EXR, import in 
> cingg, set format to rgba-float, rendrer ..... hm, may be use YUView 
> to see pixel values independently of cinelerra's decoding abilities? a 
> bit of adventure, but should provide some proof about encoding)
>
>
>     ffprobe -hide_banner cfhd01_hevc_vaapi_pix_p010le.mp4
>     Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>     'cfhd01_hevc_vaapi_pix_p010le.mp4':
>       Metadata:
>         major_brand     : isom
>         minor_version   : 512
>         compatible_brands: isomiso2mp41
>         encoder         : Lavf61.1.100
>       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)
>           Metadata:
>             handler_name    : VideoHandler
>             vendor_id       : [0][0][0][0]
>
>     ffprobe -hide_banner cfhd01_hevc_vaapi_pix_y210.mp4
>     Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>     'cfhd01_hevc_vaapi_pix_y210.mp4':
>       Metadata:
>         major_brand     : isom
>         minor_version   : 512
>         compatible_brands: isomiso2mp41
>         encoder         : Lavf61.1.100
>       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)
>           Metadata:
>             handler_name    : VideoHandler
>             vendor_id       : [0][0][0][0]
>
>>
>>         -----
>>
>>         No hevc_vaapi 10bit worked:
>>
>>         localhost:/Cin/ffmpeg/video # cat hevc_vaapi.mp4
>>         mp4 hevc_vaapi
>>         # cin_hw_dev=vaapi
>>
>>         I tested hevc_vaapi.m4 and tried to write p010 both in the
>>         pixels field and as format=p010 in the widget,
>>         but only 8bit 420p each time.
>>
>>         -------------------------------
>>
>>         hevc_qsv 10 bit worked with p010 and with y210
>>
>>         localhost:/Cin/ffmpeg/video # cat hevc_qsv.mp4
>>         # only usable with ext. ffmpeg, another pixfmt is yuyv422
>>         mp4 hevc_qsv
>>         # profile=main
>>         # cin_pix_fmt=nv12
>>
>>
>>         ffprobe -hide_banner cfhd01_hevc_qsv_pix_p010le.mp4
>>         Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>>         'cfhd01_hevc_qsv_pix_p010le.mp4':
>>           Metadata:
>>             major_brand     : isom
>>             minor_version   : 512
>>             compatible_brands: isomiso2mp41
>>             encoder         : Lavf61.1.100
>>           Duration: 00:01:11.20, start: 0.000000, bitrate: 28276 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], 28273 kb/s,
>>         25 fps, 25 tbr, 12800 tbn (default)
>>               Metadata:
>>                 handler_name    : VideoHandler
>>                 vendor_id       : [0][0][0][0]
>>
>>
>>         ffprobe -hide_banner cfhd01_hevc_qsv_pix_y210le.mp4
>>         Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
>>         'cfhd01_hevc_qsv_pix_y210le.mp4':
>>           Metadata:
>>             major_brand     : isom
>>             minor_version   : 512
>>             compatible_brands: isomiso2mp41
>>             encoder         : Lavf61.1.100
>>           Duration: 00:01:11.20, start: 0.000000, bitrate: 32074 kb/s
>>           Stream #0:0[0x1](und): Video: hevc (Rext) (hev1 /
>>         0x31766568), yuv422p10le(tv, bt709/unknown/unknown, top coded
>>         first (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], 32071 kb/s,
>>         25 fps, 25 tbr, 12800 tbn (default)
>>               Metadata:
>>                 handler_name    : VideoHandler
>>                 vendor_id       : [0][0][0][0]
>>
>>>
>>>>
>>>>             you also can set bin/ffmpeg/encode.opts loglevel to
>>>>             debug, but render exactly one frame so log will be smaller.
>>>
>>>             How to render render exactly one frame ?
>>>
>>>
>>>         In render  dialog window there is selection of render range
>>>         with 4 choices ... 1 frame mp4/webm should be perfectly
>>>         legal :)
>>>
>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>
>>>>>                     "git log" where?
>>>>>
>>>>>
>>>>>
>>>>>                 in cinelerra-5.1 directory, or some down the
>>>>>                 hierarchy ...
>>>>>
>>>>>                 this is command, part of git suite of commands.
>>>>>
>>>>>                 displays log of commits in git repo. (for me it
>>>>>                 uses l"less" as pager, so you can scroll around
>>>>>                 and search)
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241107/0d9e806b/attachment-0001.htm>


More information about the Cin mailing list