Den 16.11.2024 22:20, skrev Andrew Randrianasulu:


вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <terjejhanssen@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@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