[Cin] 10bit av1 and h264 QSV and VAAPI encoding

Terje J. Hanssen terjejhanssen at gmail.com
Sat Nov 16 23:24:44 CET 2024




Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
>
>
> вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 16.11.2024 20:36, skrev Terje J. Hanssen:
>>
>>
>>
>>     Den 16.11.2024 19:00, skrev Andrew Randrianasulu:
>>>
>>>
>>>     сб, 16 нояб. 2024 г., 20:56 Terje J. Hanssen via Cin
>>>     <cin at lists.cinelerra-gg.org>:
>>>
>>>         Now when 10bit hevc_qsv and hevc_vaapi accelerated encoding
>>>         looks to be in box, I wonder if something prohibits us to
>>>         get accelerated encoding for av1 and h264?
>>>
>>>
>>>     I think av1 was complaining about invalid picture structure?
>>>
>>>
>>>     feel free to experiment. You can also try vp9 ....
>>>
>>>
>>>
>>>         According to ffmpeg help the following support should be
>>>         available:
>>>
>>>         av1_qsv
>>>             Supported pixel formats: nv12 p010le qsv
>>>           -profile           <int> E..V....... (from 0 to INT_MAX)
>>>         (default unknown)
>>>              unknown         0 E..V.......
>>>              main            1 E..V.......
>>>
>>>         av1_vaapi
>>>             Supported pixel formats: vaapi
>>>           -profile           <int> E..V....... Set profile
>>>         (seq_profile) (from -99 to 255) (default -99)
>>>              main            0 E..V.......
>>>              high            1 E..V.......
>>>              professional    2 E..V.......
>>>
>>>
>>>         h264_qsv
>>>             Supported pixel formats: nv12 qsv
>>>           -profile           <int> E..V....... (from 0 to INT_MAX)
>>>         (default unknown)
>>>              unknown         0 E..V.......
>>>              baseline        66 E..V.......
>>>              main            77 E..V.......
>>>              high            100 E..V.......
>>>
>>>
>>>         h264_vaapi
>>>             Supported pixel formats: vaapi
>>>           -profile           <int> E..V....... Set profile
>>>         (profile_idc and constraint_set*_flag) (from -99 to 65535)
>>>         (default -99)
>>>              constrained_baseline 578 E..V.......
>>>              main            77 E..V.......
>>>              high            100 E..V.......
>>>              high10          110 E..V.......
>>>
>>>
>>     =============================
>>
>>     Starting tests with
>>
>>     /Cin # bin/cin
>>     Cinelerra Infinity - built: Nov 15 2024 20:29:14
>>
>>
>>     1) AV1_QSV
>>     -----------
>>
>>     av1_qsv.mp4
>>
>>         mp4 av1_qsv
>>         # only usable with ext. ffmpeg
>>         cin_pix_fmt=nv12
>>
>>     DV input renders ok to yuv420p
>>     ** rendered 2832 frames in 5.475 secs, 517.260 fps
>>
>>     HDV input fails:
>>     [av1_qsv @ 0x7ff7cca8b9c0] Current picture structure is unsupported
>>     [av1_qsv @ 0x7ff7cca8b9c0] some encoding parameters are not
>>     supported by the QSV runtime. Please double check the input
>>     parameters.
>>     FFMPEG::open_encoder  err: Function not implemented
>>     int FFMPEG::open_encoder(const char*, const char*):
>>     open failed av1_qsv:/Videoklipp/QSV/hdv09_04_av1_qsv.mp4
>>
>>     FHD input fails
>>     [av1_qsv @ 0x7ff7918e82c0] Current picture structure is unsupported
>>     [av1_qsv @ 0x7ff7918e82c0] some encoding parameters are not
>>     supported by the QSV runtime. Please double check the input
>>     parameters.
>>     FFMPEG::open_encoder  err: Function not implemented
>>     int FFMPEG::open_encoder(const char*, const char*):
>>     open failed av1_qsv:/Videoklipp/QSV/hd01_av1_qsv.mp4
>>
>>
>>     2) AV1_VAAPI
>>     ------------
>>
>>     vaapi.mp4
>>
>>         mp4 av1_vaapi
>>         cin_hw_dev=vaapi
>>         profile=main
>>
>>     DV input renders ok to yuv420p
>>     ** rendered 2832 frames in 5.095 secs, 555.839 fps
>>
>>     HDV input renders ok to yuv420p
>>     ** rendered 5972 frames in 16.155 secs, 369.669 fps
>>
>>
>>     FHD input renders ok to yuv420p
>>     ** rendered 1780 frames in 41.731 secs, 42.654 fps
>>
>>     FHD input fails with profile=high
>>     [av1_vaapi @ 0x7ff415aa0740] No usable encoding profile found.
>>     FFMPEG::open_encoder  err: Function not implemented
>>     int FFMPEG::open_encoder(const char*, const char*):
>>     open failed av1_vaapi:/Videoklipp/VAAPI/hd01_av1_vaapi.mp4
>>
>>
>
>     I add and continue with VP9 as suggested:
>
>
>     3) VP9_QSV
>     -----------
>
>     vp9_qsv.mp4
>
>         mp4 vp9_qsv
>         # only usable with ext. ffmpeg
>
>
>
>     DV input renders ok to yuv420p
>     ** rendered 2832 frames in 10.284 secs, 275.379 fps
>
>
>     HDV input fails:
>     [vp9_qsv @ 0x7f0bdc2acec0] Current picture structure is unsupported
>     [vp9_qsv @ 0x7f0bdc2acec0] some encoding parameters are not
>     supported by the QSV runtime. Please double check the input
>     parameters.
>     FFMPEG::open_encoder  err: Function not implemented
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed vp9_qsv:/Videoklipp/QSV/hdv09_04_vp9_qsv.mp4
>
>
>     FHD input fails
>     [vp9_qsv @ 0x7f0c3c07f5c0] Current picture structure is unsupported
>     [vp9_qsv @ 0x7f0c3c07f5c0] some encoding parameters are not
>     supported by the QSV runtime. Please double check the input
>     parameters.
>     FFMPEG::open_encoder  err: Function not implemented
>     int FFMPEG::open_encoder(const char*, const char*):
>     open failed vp9_qsv:/Videoklipp/QSV/hd01_vp9_qsv.mp4
>     Render::render_single: Session finished.
>
>
> so, qsv av1/h264/vp9 chokes on some files .....
>
>
>
>
>     4) VP9_VAAPI
>     ------------
>
>     vp9_qsv.mp4
>
>     preset doesn't exist
>
>
> Hopefully easy to create?
>


vp9_vaapi.mp4

     mp4 vp9_vaapi
     cin_hw_dev=vaapi
     # profile=main

DV input renders ok to yuv420p
** rendered 2832 frames in 4.932 secs, 574.209 fps


HDV input renders ok to yuv420p
** rendered 5972 frames in 35.209 secs, 169.616 fps


FHD input renders ok to yuv420p
** rendered 1780 frames in 39.149 secs, 45.467 fps



5) H264_QSV
-----------

h264_qsv.mp4

     mp4 h264_qsv
     # only usable with ext. ffmpeg
     profile=high
     cin_pix_fmt=nv12



DV input renders ok to yuv420p
** rendered 2832 frames in 5.154 secs, 549.476 fps


HDV input fails:
[h264_qsv @ 0x7fdf0006fc00] Current picture structure is unsupported
[h264_qsv @ 0x7fdf0006fc00] some encoding parameters are not supported 
by the QSV runtime. Please double check the input parameters.
FFMPEG::open_encoder  err: Function not implemented
int FFMPEG::open_encoder(const char*, const char*):
open failed h264_qsv:/Videoklipp/QSV/hdv09_04_h264_qsv.mp4

FHD input fails
[h264_qsv @ 0x7fdef004f140] Current picture structure is unsupported
[h264_qsv @ 0x7fdef004f140] some encoding parameters are not supported 
by the QSV runtime. Please double check the input parameters.
FFMPEG::open_encoder  err: Function not implemented
int FFMPEG::open_encoder(const char*, const char*):
open failed h264_qsv:/Videoklipp/QSV/hd01_h264_qsv.mp4


6) H264_VAAPI
------------

h264_vaapi.mp4

     mp4 h264_vaapi
     cin_hw_dev=vaapi
     cin_pix_fmt=nv12
     profile=high



DV input renders ok to yuv420p
** rendered 2832 frames in 5.688 secs, 497.890 fps


HDV input renders ok to yuv420p
** rendered 5972 frames in 15.325 secs, 389.690 fps


FHD input renders ok to yuv420p
** rendered 1780 frames in 39.067 secs, 45.563 fps


FHD input with profile=high/cin_pix_fmt=p010le renders yuv420p
** rendered 1780 frames in 41.677 secs, 42.709 fps

FHD input with profile=high10/cin_pix_fmt=p010le fails
[h264_vaapi @ 0x7f27d4212e40] No usable encoding profile found.
FFMPEG::open_encoder  err: Function not implemented
int FFMPEG::open_encoder(const char*, const char*):
open failed h264_vaapi:/Videoklipp/VAAPI/hd01_h264_vaapi.mp4








-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241116/0b6feef8/attachment.htm>


More information about the Cin mailing list