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.mp4After 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:/libavcodec/qsvenc.c 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 the851 // start--otherwise, encoding doesn't work and results in a bunch852 // 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 be860 // 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 FirstSo 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.mp4Stream #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 0FFMPEG::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 fpsFFMPEG::open_decoder: some stream times estimated: /Videoklipp/QSV/cfhd01_progr.mkv
ffprobe -hide_banner hdv09_04_progr_av1_qsv.mp4Stream #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
av1_qsv_8b420.mp4
Description: video/mp4
av1_qsv_10b420.mp4
Description: video/mp4
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

