[Cin] Fwd: [FFmpeg-devel] qsvenc.c & AV_CODEC_FLAG_INTERLACED_DCT

Terje Hanssen terjejhanssen at gmail.com
Fri Nov 22 18:37:19 CET 2024




On 11/22/24 18:12, Andrew Randrianasulu wrote:
>
>
> пт, 22 нояб. 2024 г., 20:07 Terje Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     On 11/22/24 17:58, Andrew Randrianasulu wrote:
>>
>>
>>     пт, 22 нояб. 2024 г., 19:55 Terje Hanssen <terjejhanssen at gmail.com>:
>>
>>
>>
>>
>>         On 11/22/24 18:41, Andrew Randrianasulu wrote:
>>>         On Fri, Nov 22, 2024 at 2:52 PM Terje Hanssen<terjejhanssen at gmail.com> <mailto:terjejhanssen at gmail.com> wrote:
>>>>         On 11/22/24 08:45, Andrew Randrianasulu wrote:
>>>>
>>>>
>>>>
>>>>         ---------- Forwarded message ---------
>>>>         От: Wang, Fei W<fei.w.wang-at-intel.com at ffmpeg.org> <mailto:fei.w.wang-at-intel.com at ffmpeg.org>
>>>>         Date: пт, 22 нояб. 2024 г., 09:10
>>>>         Subject: Re: [FFmpeg-devel] qsvenc.c & AV_CODEC_FLAG_INTERLACED_DCT
>>>>         To:ffmpeg-devel at ffmpeg.org <ffmpeg-devel at ffmpeg.org> <mailto:ffmpeg-devel at ffmpeg.org>
>>>>
>>>>
>>>>         On Thu, 2024-11-21 at 11:50 +0300, Andrew Randrianasulu wrote:
>>>>>         Hello.
>>>>>
>>>>>
>>>>>         Recently I teached cinelerra-gg to use qsv encoders in ffmpeg
>>>>>         (libavcodec)
>>>>>         and some test were working but some not.
>>>>>
>>>>>         We nailed it down to top-field first  material, like HDV files. bff
>>>>>         files
>>>>>         like consumer version of DV and progressive worked fine.
>>>>>
>>>>>         I looked at source and ... I thought condition at
>>>>>
>>>>>         http://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavcodec/qsvenc.c#l852
>>>>>
>>>>>
>>>>>         must contain case for bff, but I tried this and it was reportedly not
>>>>>         helping?
>>>>>
>>>>>
>>>>>         We currently set flags = ildct+ilme on interlaced streams, I hope to
>>>>>         avoid
>>>>>         special-casing qsv encoders, but may be we have no other choice?
>>>>>
>>>>>         I asked user (Terje) to add +ildct flag to his normal system ffmpeg
>>>>>         line
>>>>>         and it started to fail too:
>>>>>
>>>>>         https://lists.cinelerra-gg.org/pipermail/cin/2024-November/009123.html
>>>>         AV1 doesn't support interlaced frame.
>>>>
>>>>
>>>>         We can dual check to transcode hdv to av1_qsv again, as I did with ffmpeg in this post
>>>>         https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg08314.html
>>>>
>>>>         My issue now currently on Kaby Lake is that I have no hdv.m2t file stored and could not find a download link with example hdv. Suggestion?
>>>>
>>>         https://archive.org/download/hdv01
>>
>>         Thanks, I downloaded FX1_01.mpg, which even its wrong file
>>         extension is a 1080i50 HDV recorded on a predecessor of my
>>         own Sony FX7-E camcorder.)
>>
>>         mediainfo FX1_01.mpg | egrep -i "scan|bit|format|FileExtension"
>>         Format                                   : MPEG-TS
>>         Overall bit rate mode                    : Variable
>>         Overall bit rate                         : 26.1 Mb/s
>>         Maximum Overall bit rate                 : 33.0 Mb/s
>>         FileExtension_Invalid                    : ts m2t m2s m4t m4s
>>         tmf ts tp trp ty
>>         Format                                   : MPEG Video
>>         Format version                           : Version 2
>>         Format profile                           : Main at High 1440
>>         Format settings                          : CustomMatrix / BVOP
>>         Format settings, BVOP                    : Yes
>>         Format settings, Matrix                  : Custom
>>         Format settings, GOP                     : M=3, N=12
>>         Format settings, picture structure       : Frame
>>         Bit rate mode                            : Constant
>>         Bit rate                                 : 24.5 Mb/s
>>         Maximum bit rate                         : 25.0 Mb/s
>>         Bit depth                                : 8 bits
>>         Scan type                                : Interlaced
>>         Scan order                               : Top Field First
>>         Bits/(Pixel*Frame)                       : 0.629
>>         Format                                   : MPEG Audio
>>         Format version                           : Version 1
>>         Format profile                           : Layer 2
>>         Bit rate mode                            : Constant
>>         Bit rate                                 : 384 kb/s
>>         Format                                   : MPEG Video / MPEG
>>         Audio /  /
>>
>>
>>         But unhappily, the HDV --> av1_qsv transcoding I previous did
>>         on i17-12700/DG2 WS
>>         https://www.mail-archive.com/cin@lists.cinelerra-gg.org/msg08314.html
>>
>>             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)
>>
>>         is not possible on my legacy KBL i7-8550U Intel UHD Graphics 620
>>
>>         [av1_qsv @ 0x5641dd0f5440] This version of runtime doesn't
>>         support AV1 encoding
>>
>>         as confirmed by these limited capabilites
>>
>>         vainfo | grep -i enc
>>         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
>>               VAProfileMPEG2Simple            : VAEntrypointEncSlice
>>               VAProfileMPEG2Main              : VAEntrypointEncSlice
>>               VAProfileH264Main               : VAEntrypointEncSlice
>>               VAProfileH264Main               : VAEntrypointEncSliceLP
>>               VAProfileH264High               : VAEntrypointEncSlice
>>               VAProfileH264High               : VAEntrypointEncSliceLP
>>               VAProfileJPEGBaseline           : VAEntrypointEncPicture
>>               VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
>>               VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
>>               VAProfileVP8Version0_3          : VAEntrypointEncSlice
>>               VAProfileHEVCMain               : VAEntrypointEncSlice
>>               VAProfileHEVCMain10             : VAEntrypointEncSlice
>>
>>         By the way, neither this attempt claims about unsupported or
>>         wrong image structure format !?
>>
>>
>>
>>     may be it not even come to this line and abort earlier? (in
>>     compiled languages functions can be executed out of order they
>>     appear in file)
>
>     HDV --> av1_qsv transcoded as referenced above on the newer
>     i17-12700/DG2
>
>
> ??
>
> you mean why default ffmpeg does not trip over this line?
>
> it silently ignores interlace and makes something flagged as 
> interlaced but actually not?

We can have a closer look at the av1_qsv output, possibly with loglevel 
verbose or debug on that WS, when I'm back again. I don't know what 
ffmpeg really does here, but as far it is accelerated (fps=561 for 
cfhd.mkv), viewable and playable, it will be good?




>
>
>
>
>
>>
>>
>>
>>
>>>>         You may add deinterlace filter
>>>>         before encoder after apply this patch:
>>>>         https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=13372
>>>>
>>>>         cmd:
>>>>         ffmpeg -hide_banner -qsv_device /dev/dri/renderD128 -
>>>>         hwaccel_output_format qsv -i input.mp4 -pix_fmt nv12 -vf
>>>>         vpp_qsv=deinterlace=advanced -c:v av1_qsv -f null -
>>>>
>>>>         Thanks
>>>>         Fei
>>>>
>>>>>         _______________________________________________
>>>>>         ffmpeg-devel mailing list
>>>>>         ffmpeg-devel at ffmpeg.org
>>>>>         https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>>>
>>>>>         To unsubscribe, visit link above, or email
>>>>>         ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>>>         _______________________________________________
>>>>         ffmpeg-devel mailing list
>>>>         ffmpeg-devel at ffmpeg.org
>>>>         https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>>
>>>>         To unsubscribe, visit link above, or email
>>>>         ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>>>
>>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241122/d17da9a3/attachment-0001.htm>


More information about the Cin mailing list