вт, 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:/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 >>> 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 >>> >> > >
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

