[Cin] Fwd: [FFmpeg-devel] qsvenc.c & AV_CODEC_FLAG_INTERLACED_DCT
Andrew Randrianasulu
randrianasulu at gmail.com
Sat Nov 23 13:24:41 CET 2024
сб, 23 нояб. 2024 г., 15:15 Terje Hanssen <terjejhanssen at gmail.com>:
>
>
>
> 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> <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> <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> <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?
>
*i think* specification allow it, just current hw implementation via qsv
does not exist (yet?).
You better ask some intel engineers about that.
> We can dual check to transcode hdv to av1_qsv again, as I did with ffmpeg in this posthttps://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 listffmpeg-devel at ffmpeg.orghttps://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>>
>>>> To unsubscribe, visit link above, or emailffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>>>
>>>> _______________________________________________
>>>> ffmpeg-devel mailing listffmpeg-devel at ffmpeg.orghttps://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>>>
>>>> To unsubscribe, visit link above, or emailffmpeg-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/be477a6c/attachment-0001.htm>
More information about the Cin
mailing list