On 11/22/24 18:54, Andrew Randrianasulu wrote:


пт, 22 нояб. 2024 г., 20:37 Terje Hanssen <terjejhanssen@gmail.com>:



On 11/22/24 18:12, Andrew Randrianasulu wrote:


пт, 22 нояб. 2024 г., 20:07 Terje Hanssen <terjejhanssen@gmail.com>:



On 11/22/24 17:58, Andrew Randrianasulu wrote:


пт, 22 нояб. 2024 г., 19:55 Terje Hanssen <terjejhanssen@gmail.com>:



On 11/22/24 18:41, Andrew Randrianasulu wrote:
On Fri, Nov 22, 2024 at 2:52 PM Terje Hanssen <terjejhanssen@gmail.com> wrote:
On 11/22/24 08:45, Andrew Randrianasulu wrote:



---------- Forwarded message ---------
От: Wang, Fei W <fei.w.wang-at-intel.com@ffmpeg.org>
Date: пт, 22 нояб. 2024 г., 09:10
Subject: Re: [FFmpeg-devel] qsvenc.c & AV_CODEC_FLAG_INTERLACED_DCT
To: ffmpeg-devel@ffmpeg.org <ffmpeg-devel@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@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@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".