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

Terje Hanssen terjejhanssen at gmail.com
Sat Nov 23 13:15:01 CET 2024




On 11/22/24 18:54, Andrew Randrianasulu wrote:
>
>
> пт, 22 нояб. 2024 г., 20:37 Terje Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     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.
>>>

I wonder if AV1 generic doesn't support interlaced input video, then 
neither AV1 software encoders like av1_svt should be able to do it. Or 
may this mean interlaced output?

>>>>>             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?
>
>
>
> welll ..may be?
>
> If it works good enough for  those goals may be you can just set 
> cingg's  format to progressive even if autodetect says interlaced, and 
> try to render.

I'll try that also.




>
>
>
>
>
>
>
>>
>>
>>
>>
>>
>>>
>>>
>>>
>>>
>>>>>             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/20241123/8df083fd/attachment-0001.htm>


More information about the Cin mailing list