10bit av1 and h264 QSV and VAAPI encoding
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? 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.......
сб, 16 нояб. 2024 г., 20:56 Terje J. Hanssen via Cin < [email protected]>:
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.......
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Den 16.11.2024 19:00, skrev Andrew Randrianasulu:
сб, 16 нояб. 2024 г., 20:56 Terje J. Hanssen via Cin <[email protected]>:
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
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
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 <[email protected]>:
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. 4) VP9_VAAPI ------------ vp9_qsv.mp4 preset doesn't exist
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 < [email protected]>:
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?
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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 snip
=============================
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
After this overview: I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again: [AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 < [email protected]>:
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 snip
=============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me. You tried with progressive/deinterlaced source, with everything set to progressive? Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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 snip
=============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet. But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input: HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4 ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default) FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4 ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default) ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok [mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x I tried to adapt my hevc_qsv preset for av1_qsv as follows av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25 but attempt to render the same HDV file fails with the following output [av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported [av1_qsv @ 0x7fd604299600] 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 Render::render_single: Session finished. Connection failure: Connection refused pa_context_connect() failed: Connection refused
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 < [email protected]>:
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 snip
=============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco... if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n"); if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align); 2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF; i.e. common code for all qsv encoders? so *I think* it only test for either bff or tff and fails if +ildct flag actually set. you can try to add it ffmpeg line and see if it starts to fail BUT can you test progressive or bff source in cingg ?? i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves. So, *PLEASE* do progressive/bff test! [av1_qsv @ 0x7fd604299600] 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 Render::render_single: Session finished. Connection failure: Connection refused pa_context_connect() failed: Connection refused
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 <[email protected]>:
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 snip
=============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉 And my first bff interlaced test already worked without those problems 1) SD-DV --> AV1_QSV mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25 BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps ----------------------- while the std HDV and FHD input files were tff interlaced: mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁 ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv And the good thing to report back is rendering now worked for the progressive input files 🙂 ----------- 2) HDV progressive --> av1_qsv (8bit yuv420p, nv12) av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25 BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default) ---------- 3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le) av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn ------- I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add? av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4 On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin < [email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 < [email protected]>:
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 snip
=============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input .... I have idea about ffmpeg's internals but it has potential to either fix it or broke it :) I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin < [email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 < [email protected]>:
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 snip
=============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Den 18.11.2024 04:48, skrev Andrew Randrianasulu:
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input ....
Yeah, I have continued with more vaapi presets. While progressive video worked fine as input for av1_qsv, the av1_vaapi output become ruined with no visible pictures. My av1_vaapi_8b420.mp4 preset based on nv12 renders interlaced input as it should. av1_vaapi_10b420.mp4 render attempts fail however with the following errors: [av1_vaapi @ 0x7f692202a880] Specified pixel format p010le is not supported by the av1_vaapi encoder. [av1_vaapi @ 0x7f692202a880] Supported pixel formats: [av1_vaapi @ 0x7f692202a880] vaapi As my system ffmpeg 7.1 has encoded video to p010le without issues, I wonder if there may be lesser vaapi support in Cingg's internal ffmpeg 7,0? And what about the qsv interlace tff input issues, may it be fixed in 7.1 ?
I have idea about ffmpeg's internals but it has potential to either fix it or broke it :)
I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin <[email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 <[email protected]>: > > 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 snip > =============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
вт, 19 нояб. 2024 г., 00:06 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 04:48, skrev Andrew Randrianasulu:
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input ....
Yeah, I have continued with more vaapi presets.
While progressive video worked fine as input for av1_qsv, the av1_vaapi output become ruined with no visible pictures.
My av1_vaapi_8b420.mp4 preset based on nv12 renders interlaced input as it should.
av1_vaapi_10b420.mp4 render attempts fail however with the following errors:
[av1_vaapi @ 0x7f692202a880] Specified pixel format p010le is not supported by the av1_vaapi encoder. [av1_vaapi @ 0x7f692202a880] Supported pixel formats: [av1_vaapi @ 0x7f692202a880] vaapi
I think I saw this error during testing. Be sure you have cin_pix_fmt line in preset and do not touch Pixels menu.
As my system ffmpeg 7.1 has encoded video to p010le without issues, I wonder if there may be lesser vaapi support in Cingg's internal ffmpeg 7,0?
And what about the qsv interlace tff input issues, may it be fixed in 7.1 ?
you have system-ffmpeg-based cingg somewhere already?
I have idea about ffmpeg's internals but it has potential to either fix it or broke it :)
I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin < [email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]
:
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 < [email protected]>:
> 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 snip > =============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Den 18.11.2024 22:12, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 00:06 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 04:48, skrev Andrew Randrianasulu:
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input ....
Yeah, I have continued with more vaapi presets.
While progressive video worked fine as input for av1_qsv, the av1_vaapi output become ruined with no visible pictures.
My av1_vaapi_8b420.mp4 preset based on nv12 renders interlaced input as it should.
av1_vaapi_10b420.mp4 render attempts fail however with the following errors:
[av1_vaapi @ 0x7f692202a880] Specified pixel format p010le is not supported by the av1_vaapi encoder. [av1_vaapi @ 0x7f692202a880] Supported pixel formats: [av1_vaapi @ 0x7f692202a880] vaapi
I think I saw this error during testing. Be sure you have cin_pix_fmt line in preset and do not touch Pixels menu.
Sorry, my fault. I had forgotten to define the hw_device, and now this preset works av1_vaapi_10b420.mp4 mp4 av1_vaapi # av1_vaapi_10b420 cin_hw_dev=vaapi cin_pix_fmt=p010le profile=main # global_quality=22 ** rendered 1780 frames in 42.235 secs, 42.145 fps ffprobe -hide_banner hd01_av1_vaapi.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), 1920x1080, 14039 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
As my system ffmpeg 7.1 has encoded video to p010le without issues, I wonder if there may be lesser vaapi support in Cingg's internal ffmpeg 7,0?
And what about the qsv interlace tff input issues, may it be fixed in 7.1 ?
you have system-ffmpeg-based cingg somewhere already?
Yeah, tried, but it failed with the following errors respectively: [av1_vaapi @ 0x7fd7c8377940] [Eval @ 0x7fd7b89f66d0] Undefined constant or missing '(' in 'main' [av1_vaapi @ 0x7fd7c8377940] Unable to parse option value "main" [av1_vaapi @ 0x7fd7c8377940] Error setting option profile to value main. [av1_qsv @ 0x7fd7b0054d80] [Eval @ 0x7fd848ff26d0] Undefined constant or missing '(' in 'main' [av1_qsv @ 0x7fd7b0054d80] Unable to parse option value "main" [av1_qsv @ 0x7fd7b0054d80] Error setting option profile to value main.
I have idea about ffmpeg's internals but it has potential to either fix it or broke it :)
I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin <[email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]>:
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 <[email protected]>: >> >> 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 snip >> > ============================= > > 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 >
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
вт, 19 нояб. 2024 г., 01:57 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 22:12, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 00:06 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 04:48, skrev Andrew Randrianasulu:
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input ....
Yeah, I have continued with more vaapi presets.
While progressive video worked fine as input for av1_qsv, the av1_vaapi output become ruined with no visible pictures.
My av1_vaapi_8b420.mp4 preset based on nv12 renders interlaced input as it should.
av1_vaapi_10b420.mp4 render attempts fail however with the following errors:
[av1_vaapi @ 0x7f692202a880] Specified pixel format p010le is not supported by the av1_vaapi encoder. [av1_vaapi @ 0x7f692202a880] Supported pixel formats: [av1_vaapi @ 0x7f692202a880] vaapi
I think I saw this error during testing. Be sure you have cin_pix_fmt line in preset and do not touch Pixels menu.
Sorry, my fault. I had forgotten to define the hw_device, and now this preset works
av1_vaapi_10b420.mp4
mp4 av1_vaapi # av1_vaapi_10b420 cin_hw_dev=vaapi cin_pix_fmt=p010le profile=main # global_quality=22
** rendered 1780 frames in 42.235 secs, 42.145 fps
ffprobe -hide_banner hd01_av1_vaapi.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), 1920x1080, 14039 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
As my system ffmpeg 7.1 has encoded video to p010le without issues, I wonder if there may be lesser vaapi support in Cingg's internal ffmpeg 7,0?
And what about the qsv interlace tff input issues, may it be fixed in 7.1 ?
you have system-ffmpeg-based cingg somewhere already?
Yeah, tried, but it failed with the following errors respectively:
[av1_vaapi @ 0x7fd7c8377940] [Eval @ 0x7fd7b89f66d0] Undefined constant or missing '(' in 'main' [av1_vaapi @ 0x7fd7c8377940] Unable to parse option value "main" [av1_vaapi @ 0x7fd7c8377940] Error setting option profile to value main.
[av1_qsv @ 0x7fd7b0054d80] [Eval @ 0x7fd848ff26d0] Undefined constant or missing '(' in 'main' [av1_qsv @ 0x7fd7b0054d80] Unable to parse option value "main" [av1_qsv @ 0x7fd7b0054d80] Error setting option profile to value main.
yeah, replace profile names with numbers as they do in ffmpeg's output :/
I have idea about ffmpeg's internals but it has potential to either fix it or broke it :)
I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin < [email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected]
:
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 < [email protected]>:
> 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 snip > =============================
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
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
Den 19.11.2024 00:02, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 01:57 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 22:12, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 00:06 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 04:48, skrev Andrew Randrianasulu:
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input ....
Yeah, I have continued with more vaapi presets.
While progressive video worked fine as input for av1_qsv, the av1_vaapi output become ruined with no visible pictures.
My av1_vaapi_8b420.mp4 preset based on nv12 renders interlaced input as it should.
av1_vaapi_10b420.mp4 render attempts fail however with the following errors:
[av1_vaapi @ 0x7f692202a880] Specified pixel format p010le is not supported by the av1_vaapi encoder. [av1_vaapi @ 0x7f692202a880] Supported pixel formats: [av1_vaapi @ 0x7f692202a880] vaapi
I think I saw this error during testing. Be sure you have cin_pix_fmt line in preset and do not touch Pixels menu.
Sorry, my fault. I had forgotten to define the hw_device, and now this preset works
av1_vaapi_10b420.mp4
mp4 av1_vaapi # av1_vaapi_10b420 cin_hw_dev=vaapi cin_pix_fmt=p010le profile=main # global_quality=22
** rendered 1780 frames in 42.235 secs, 42.145 fps
ffprobe -hide_banner hd01_av1_vaapi.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), 1920x1080, 14039 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
As my system ffmpeg 7.1 has encoded video to p010le without issues, I wonder if there may be lesser vaapi support in Cingg's internal ffmpeg 7,0?
And what about the qsv interlace tff input issues, may it be fixed in 7.1 ?
you have system-ffmpeg-based cingg somewhere already?
Yeah, tried, but it failed with the following errors respectively:
[av1_vaapi @ 0x7fd7c8377940] [Eval @ 0x7fd7b89f66d0] Undefined constant or missing '(' in 'main' [av1_vaapi @ 0x7fd7c8377940] Unable to parse option value "main" [av1_vaapi @ 0x7fd7c8377940] Error setting option profile to value main.
[av1_qsv @ 0x7fd7b0054d80] [Eval @ 0x7fd848ff26d0] Undefined constant or missing '(' in 'main' [av1_qsv @ 0x7fd7b0054d80] Unable to parse option value "main" [av1_qsv @ 0x7fd7b0054d80] Error setting option profile to value main.
yeah, replace profile names with numbers as they do in ffmpeg's output :/
Minor success. Could render av1 8bit 420 vaapi, no 10bit av1 vaapi and no qsv. Looks like similar patches would be needed ........
I have idea about ffmpeg's internals but it has potential to either fix it or broke it :)
I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin <[email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]>:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu: > > > вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen > <[email protected]>: > > > > > 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 >>> <[email protected]>: >>> >>> 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 snip >>> >> ============================= >> >> 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 >>
After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
вт, 19 нояб. 2024 г., 03:25 Terje J. Hanssen <[email protected]>:
Den 19.11.2024 00:02, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 01:57 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 22:12, skrev Andrew Randrianasulu:
вт, 19 нояб. 2024 г., 00:06 Terje J. Hanssen <[email protected]>:
Den 18.11.2024 04:48, skrev Andrew Randrianasulu:
On Mon, Nov 18, 2024 at 3:35 AM Phyllis Smith <[email protected]> wrote:
Terje, Andrew: Just so I got this right and did not miss any. These 8 are all tested new render formats to add?
av1_qsv_8b420.mp4 av1_qsv_10b420.mp4 hevc_qsv_8b420.mp4 hevc_qsv_10b420.mp4 hevc_qsv_10b422.mp4 hevc_vaapi_8b420.mp4 hevc_vaapi_10b420.mp4 hevc_vaapi_10b422.mp4
May be Terje will make few more how we found qsv is picky about tff-interlaced input ....
Yeah, I have continued with more vaapi presets.
While progressive video worked fine as input for av1_qsv, the av1_vaapi output become ruined with no visible pictures.
My av1_vaapi_8b420.mp4 preset based on nv12 renders interlaced input as it should.
av1_vaapi_10b420.mp4 render attempts fail however with the following errors:
[av1_vaapi @ 0x7f692202a880] Specified pixel format p010le is not supported by the av1_vaapi encoder. [av1_vaapi @ 0x7f692202a880] Supported pixel formats: [av1_vaapi @ 0x7f692202a880] vaapi
I think I saw this error during testing. Be sure you have cin_pix_fmt line in preset and do not touch Pixels menu.
Sorry, my fault. I had forgotten to define the hw_device, and now this preset works
av1_vaapi_10b420.mp4
mp4 av1_vaapi # av1_vaapi_10b420 cin_hw_dev=vaapi cin_pix_fmt=p010le profile=main # global_quality=22
** rendered 1780 frames in 42.235 secs, 42.145 fps
ffprobe -hide_banner hd01_av1_vaapi.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, top coded first (swapped)), 1920x1080, 14039 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
As my system ffmpeg 7.1 has encoded video to p010le without issues, I wonder if there may be lesser vaapi support in Cingg's internal ffmpeg 7,0?
And what about the qsv interlace tff input issues, may it be fixed in 7.1 ?
you have system-ffmpeg-based cingg somewhere already?
Yeah, tried, but it failed with the following errors respectively:
[av1_vaapi @ 0x7fd7c8377940] [Eval @ 0x7fd7b89f66d0] Undefined constant or missing '(' in 'main' [av1_vaapi @ 0x7fd7c8377940] Unable to parse option value "main" [av1_vaapi @ 0x7fd7c8377940] Error setting option profile to value main.
[av1_qsv @ 0x7fd7b0054d80] [Eval @ 0x7fd848ff26d0] Undefined constant or missing '(' in 'main' [av1_qsv @ 0x7fd7b0054d80] Unable to parse option value "main" [av1_qsv @ 0x7fd7b0054d80] Error setting option profile to value main.
yeah, replace profile names with numbers as they do in ffmpeg's output :/
Minor success. Could render av1 8bit 420 vaapi, no 10bit av1 vaapi and no qsv. Looks like similar patches would be needed ........
I think both cin trees close enough for just applying patches to it too ....
I have idea about ffmpeg's internals but it has potential to either fix it or broke it :)
I'll try to make patch tomorrow
On Sun, Nov 17, 2024 at 5:13 PM Terje J. Hanssen via Cin < [email protected]> wrote:
Den 17.11.2024 19:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 20:50 Terje J. Hanssen <[email protected]>:
Den 17.11.2024 11:53, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 13:24 Terje J. Hanssen <[email protected]
:
Den 16.11.2024 23:24, skrev Terje J. Hanssen:
Den 16.11.2024 22:20, skrev Andrew Randrianasulu:
вс, 17 нояб. 2024 г., 00:02 Terje J. Hanssen <[email protected] >:
> > > > 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 < > [email protected]>: > >> 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 snip >> > ============================= > > 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 > > After this overview:
I modified ffmpeg/encode.opts to loglevel=debug and tried to render HDV (and FHD) again:
[AVHWDeviceContext @ 0x7f99881fee40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7f99881fee40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7f99881fee40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7f99881fee40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7f99881fee40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7f99881fee40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7f99881fee40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7f99881fee40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7f99881fee40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7f99880565c0] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) by default. Please use the global_quality option and other options for a quality-based mode or the b option and other options for a bitrate-based mode if the default is not the desired choice. [av1_qsv @ 0x7f99880565c0] Using the constant quantization parameter (CQP) ratecontrol method [av1_qsv @ 0x7f99880565c0] Current picture structure is unsupported [av1_qsv @ 0x7f99880565c0] 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 Render::render_single: Session finished.
Sorry, but even with additional msgs root case of this problem is not clearer at all for me.
You tried with progressive/deinterlaced source, with everything set to progressive?
Isn't point of this thread to get 10bit, 10bit + yuv422 encoder presets working? I suggest to put aside obviously failing ones for now.
I think AV1-10bit yuv422 is only supported by librav1e software encoding yet.
But av1_qsv encoding 8bit (nv12) and 10bit 420 (p010) is supported by ffmpeg. The following command works for me for me with HDV and FHD interlaced input:
HDV --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i hdv09_04.m2t -pix_fmt nv12 -c:v av1_qsv -global_quality 25 hdv09_04_av1_qsv_format_nv12_gq25.mp4
ffprobe -hide_banner hdv09_04_av1_qsv_format_nv12_gq25.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709, top coded first (swapped)), 1440x1080, 7902 kb/s, SAR 4:3 DAR 16:9, 24.99 fps, 25 tbr, 12800 tbn (default)
FHD --> av1_qsv -global_quality 25 ----------------------------------- ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -i cfhd01.mkv -pix_fmt p010 -c:v av1_qsv -global_quality 25 cfhd01_av1_qsv_format_p010_gq25.mp4
ffprobe -hide_banner cfhd01_av1_qsv_format_p010_gq25.mp4 Stream #0:0[0x1](eng): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709, progressive), 1920x1080, 5761 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
ffmpeg output some mpeg warnings in the HDV file, but renders it seemingly ok
[mpegts @ 0x560dbed1b800] PES packet size mismatch0:03:56.16 bitrate=8036.6kbits/s speed=22.5x [mpegts @ 0x560dbed1b800] Packet corrupt (stream = 1, dts = 258142320). [mpeg2video @ 0x560dbec663c0] ac-tex damaged at 10 61 [mpeg2video @ 0x560dbec663c0] Warning MVs not available [mpeg2video @ 0x560dbec663c0] concealing 630 DC, 630 AC, 630 MV errors in P frame [vist#0:0/mpeg2video @ 0x560dbedd2f40] [dec:mpeg2video @ 0x560dbecb4140] corrupt decoded frame [out#0/mp4 @ 0x560dbec67440] video:230191KiB audio:3787KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.051687% frame= 5963 fps=561 q=-0.0 Lsize= 234099KiB time=00:03:58.77 bitrate=8031.5kbits/s speed=22.5x
I tried to adapt my hevc_qsv preset for av1_qsv as follows
av1_qsv_8b420.mp4
mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main global_quality=25
but attempt to render the same HDV file fails with the following output
[av1_qsv @ 0x7fd604299600] Encoder: input is system memory surface [av1_qsv @ 0x7fd604299600] Use Intel(R) oneVPL to create MFX session, the required implementation version is 1.1 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Trying to use DRM render node for device 0. [AVHWDeviceContext @ 0x7fd60408bd40] libva: VA-API version 1.22.0 [AVHWDeviceContext @ 0x7fd60408bd40] libva: User requested driver 'iHD' [AVHWDeviceContext @ 0x7fd60408bd40] libva: Trying to open /usr/lib64/dri/iHD_drv_video.so [AVHWDeviceContext @ 0x7fd60408bd40] libva: Found init function __vaDriverInit_1_22 [AVHWDeviceContext @ 0x7fd60408bd40] libva: va_openDriver() returns 0 [AVHWDeviceContext @ 0x7fd60408bd40] Initialised VAAPI connection: version 1.22 [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41524742 -> bgra. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x41424752 -> rgba. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58524742 -> bgr0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x58424752 -> rgb0. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334241 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30335258 -> x2rgb10le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30334258 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36314752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555941 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56555958 -> vuyx. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30303859 -> gray. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3231564e -> nv12. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x3132564e -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32595559 -> yuyv422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x59565955 -> uyvy422. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32315659 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30323449 -> yuv420p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50313134 -> yuv411p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x48323234 -> yuv422p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x56323234 -> yuv440p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50343434 -> yuv444p. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x33434d49 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313050 -> p010le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313050 -> p012le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313050 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313259 -> y210le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313259 -> y212le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313259 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x30313459 -> xv30le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x32313459 -> xv36le. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x36313459 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50424752 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] Format 0x50524742 -> unknown. [AVHWDeviceContext @ 0x7fd60408bd40] VAAPI driver: Intel iHD driver for Intel(R) Gen Graphics - 24.4.0 (). [AVHWDeviceContext @ 0x7fd60408bd40] Driver not found in known nonstandard list, using standard behaviour. [av1_qsv @ 0x7fd604299600] Initialized an internal MFX session using hardware accelerated implementation [av1_qsv @ 0x7fd604299600] Using the intelligent constant quality (ICQ) ratecontrol method [av1_qsv @ 0x7fd604299600] Current picture structure is unsupported
I think this error comes from
http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/7.0:/libavco...
if (UNMATCH(FrameInfo.PicStruct)) 689 av_log(avctx, AV_LOG_ERROR, "Current picture structure is unsupported\n");
if (avctx->flags & AV_CODEC_FLAG_INTERLACED_DCT) { 850 // it is important that PicStruct be setup correctly from the 851 // start--otherwise, encoding doesn't work and results in a bunch 852 // of incompatible video parameter errors 853 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_FIELD_TFF; 854 // height alignment always must be 32 for interlaced video 855 q->height_align = 32; 856 } else { 857 q->param.mfx.FrameInfo.PicStruct = MFX_PICSTRUCT_PROGRESSIVE; 858 // for progressive video, the height should be aligned to 16 for 859 // H.264. For HEVC, depending on the version of MFX, it should be 860 // either 32 or 16. The lower number is better if possible. 861 // For AV1, it is 32 862 q->height_align = (avctx->codec_id == AV_CODEC_ID_HEVC || 863 avctx->codec_id == AV_CODEC_ID_AV1) ? 32 : 16; 864 } 865 q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align);
2030 2031 qf->surface.Info.PicStruct = 2032 !(frame->flags & AV_FRAME_FLAG_INTERLACED) ? MFX_PICSTRUCT_PROGRESSIVE : 2033 (frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ? MFX_PICSTRUCT_FIELD_TFF : 2034 MFX_PICSTRUCT_FIELD_BFF;
i.e. common code for all qsv encoders?
so *I think* it only test for either bff or tff and fails if +ildct flag actually set.
you can try to add it ffmpeg line and see if it starts to fail
BUT
can you test progressive or bff source in cingg ??
i do not ask just for lulz, I want to understand *where* it fails, and does this mean we need to ask ffmpeg guys todo something or alter ourselves.
So, *PLEASE* do progressive/bff test!
Yeah, thank you for all help and tip to solve this. I had just to finish my std interlaced HDV and FHD input testing with various preset parameters 😉
And my first bff interlaced test already worked without those problems
1) SD-DV --> AV1_QSV
mediainfo dv01_07.dv | grep -i scan Scan type : Interlaced Scan order : Bottom Field First
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
-----------------------
while the std HDV and FHD input files were tff interlaced:
mediainfo hdv09_04.m2t | grep -i scan Scan type : Interlaced Scan order : Top Field First
mediainfo cfhd01.mkv | grep -i scan Scan type : Interlaced Scan type, store method : Interleaved fields Scan order : Top Field First
So I deinterlaced them to-night with ffmpeg and yadif and bitrate to keep quality. And it was no "lul" for cfhd (FHD) with very high bitrate (fps=0.8, speed=0.03) 🙁
ffmpeg -hide_banner -i hdv09_04.m2t -vf yadif=parity=auto -vb 30M hdv09_04_progr.m2t
ffmpeg -hide_banner -i cfhd01.mkv -vf yadif=parity=auto -vb 400M cfhd01_progr.mkv
And the good thing to report back is rendering now worked for the progressive input files 🙂
-----------
2) HDV progressive --> av1_qsv (8bit yuv420p, nv12)
av1_qsv_8b420.mp4 mp4 av1_qsv # av1_qsv_8b420 # usable with Pixels: nv12 profile=main # global_quality=25
BC_DisplayInfo::gl_fb_config failed libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 Render::render_single: Session finished. ** rendered 2832 frames in 3.645 secs, 776.955 fps
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p(tv, bt709/unknown/unknown, progressive), 1440x1080, 927 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn (default)
----------
3) FHD (cfhd) progressive --> av1_qsv (10bit yuv420p, p010le)
av1_qsv_10b420.mp4 mp4 av1_qsv # av1_qsv_10b420 # usabel with Pixels: p010le profile=main # global_quality=25
libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 libva info: VA-API version 1.22.0 libva info: Trying to open /usr/lib64/dri/iHD_drv_video.so libva info: Found init function __vaDriverInit_1_22 libva info: va_openDriver() returns 0 FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv Render::render_single: Session finished. ** rendered 1780 frames in 28.383 secs, 62.714 fps FFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4 Stream #0:0[0x1](und): Video: av1 (libdav1d) (Main) (av01 / 0x31307661), yuv420p10le(tv, bt709/unknown/unknown, progressive), 1440x1080, 926 kb/s, SAR 4:3 DAR 16:9, 25 fps, 25 tbr, 12800 tbn
-------
I tested also that HDV could be rendered correctly using both 8bit and 10 presets as attached
av1_qsv_10b420.mp4 av1_qsv_8b420.mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin
participants (3)
-
Andrew Randrianasulu -
Phyllis Smith -
Terje J. Hanssen