[Cin] FFmpeg supported QSV pixel formats and profiles

Terje J. Hanssen terjejhanssen at gmail.com
Sat Oct 12 21:36:16 CEST 2024




Den 12.10.2024 21:26, skrev Andrew Randrianasulu:
>
>
> сб, 12 окт. 2024 г., 22:19 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
>     Den 12.10.2024 19:56, skrev Andrew Randrianasulu:
>>
>>
>>     сб, 12 окт. 2024 г., 20:45 Terje J. Hanssen
>>     <terjejhanssen at gmail.com>:
>>
>>
>>
>>
>>         Den 12.10.2024 18:43, skrev Andrew Randrianasulu:
>>>
>>>
>>>         сб, 12 окт. 2024 г., 16:59 Terje J. Hanssen
>>>         <terjejhanssen at gmail.com>:
>>>
>>>
>>>
>>>             Den 12.10.2024 15:09, skrev Terje J. Hanssen:
>>>>
>>>>
>>>>             Den 12.10.2024 14:39, skrev Andrew Randrianasulu:
>>>>>
>>>>>
>>>>>             сб, 12 окт. 2024 г., 13:23 Terje J. Hanssen via Cin
>>>>>             <cin at lists.cinelerra-gg.org>:
>>>>>
>>>>>
>>>>>
>>>>>                 Den 12.10.2024 12:08, skrev Terje J. Hanssen:
>>>>>>                  An overview over the system FFmpeg 7.x supported
>>>>>>                 QSV pixel formats and profiles:
>>>>>>
>>>>>>
>>>>>>                 ffmpeg -hide_banner -h encoder=hevc_qsv | egrep
>>>>>>                 'Supported|profile|main'
>>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>>                     Supported pixel formats: nv12 p010le p012le
>>>>>>                 yuyv422 y210le qsv bgra x2rgb10le vuyx xv30le
>>>>>>                 -profile <int>        E..V....... (from 0 to
>>>>>>                 INT_MAX) (default unknown)
>>>>>>                 main 1 E..V.......
>>>>>>                 main10 2 E..V.......
>>>>>>                 mainsp 3 E..V.......
>>>>>>                 main 0 E..V.......
>>>>>>
>>>>>>
>>>>>>                 ffmpeg -hide_banner -h encoder=h264_qsv | egrep
>>>>>>                 'Supported|profile|main'
>>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>>                     Supported pixel formats: nv12 qsv
>>>>>>                 -profile <int>        E..V....... (from 0 to
>>>>>>                 INT_MAX) (default unknown)
>>>>>>                 main 77 E..V.......
>>>>>
>>>>>
>>>>>             I think we can concentrate on av1 for now.
>>>>>
>>>>>             does it fail if you add "-profile main" to ffmpeg
>>>>>             command line for dv av1 encode?
>>>>>
>>>>>             dv due to it being software codec, so ffmpeg forced to
>>>>>             push and convert frames from system memory, as opposed
>>>>>             to hdv (hw) = > av1 on-gpu transcode)
>>>>>
>>>>
>>>>             No, it doesn't fail:
>>>
>>>             but claims:
>>>             "Please use -profile:a or -profile:v, -profile is ambiguous"
>>>
>>>
>>>
>>>         ah, I think it mostly relevant to ffmpeg as cli application.
>>>
>>>         Now, moving to cingg, does adding
>>>
>>>         preset 4
>>>         b 1570k
>>>
>>>         into profile file
>>>
>>>         fix anything?
>>>
>>>         you can change loglevel to debug in bin/ffmpeg/encode.opts
>>>         too, it will produce bugger log, hopefully with more
>>>         detailed error msg.
>>>
>>>
>>
>>         Sorry, the same error as before:
>>
>>         localhost:/home/cinelerra/cinelerra-5.1/bin/ffmpeg # cat
>>         encode.opts
>>         # apply at init encode
>>         #loglevel=error
>>         loglevel=debug
>>         threads=auto
>>         side_data_only_packets=1
>>
>>         # cd /home/cinelerra/cinelerra-5.1
>>
>>         bin/cin
>>
>>         Load recent: dv01_07.dv
>>         Render to: /Videoklipp/QSV/dv01_07_av1_qsv.mp4
>>         FFMPEG mp4
>>         Video wrench: Video Preset
>>         compression: av1_qsv.mp4
>>         Pixels: nv12
>>         preset 4
>>         b 1570k
>>
>>         Cinelerra Message log:
>>         int FFMPEG::init_encoder(const char*):
>>         mismatch audio/video file format:
>>         /Videoklipp/QSV/dv01_07_av1_qsv.mp4
>>         Cinelerra Error (widgets)
>>         Couldn't open /Videoklipp/QSV/dv01 07 av1 qsv.mp4
>>         Error rendering data
>>
>>         Render::render_single: Session finished.
>>
>>
>>     what kind of audio compression you use?
>
>     Audio preset was set to h264.mp4
>     tried also h265.mp4 without any change
>     there is no aac available for av1_qsv
>>
>>     may be set video profile to something else, then set in gui both
>>     av1_qsv.mp4 and relevant audio like aac?
>
Ok, I misunderstood when I tried something quite else below, software 
av1_svt.webm below.
Should aac audio be available for av1_qsv.mp4, I couldn't see it?


>     Rendered also to av1_svt.webm that worked as shown below. Then
>     back again to av1_qsv.mp4 from scratch, but got the same error.
>
>     Load recent: dv01_07.dv
>     Render to: /Videoklipp/QSV/dv01_07_av1_svt.webm
>     -----------
>     FFMPEG webm
>     Audio preset: opus.webm
>     Video Preset
>     compression: av1_svt.webm
>     Pixels: yuv420p
>     preset 4
>     b 1570k
>     ----------
>     Svt[warn]: Failed to set thread priority: Invalid argument
>     [SWR @ 0x7f7b47452b00] Using fltp internally between filters
>     [libopus @ 0x7f7b473d2500] No bit rate set. Defaulting to 96000 bps.
>     FFStream::encode_frame: encode failed.
>     file: /Videoklipp/QSV/dv01_07_av1_svt.webm
>       err: Resource temporarily unavailable
>     FFStream::flush failed
>     :file:/Videoklipp/QSV/dv01_07_av1_svt.webm
>       err: Operation not permitted
>     FFStream::encode_frame: encode failed.
>     file: /Videoklipp/QSV/dv01_07_av1_svt.webm
>       err: Resource temporarily unavailable
>     FFStream::flush failed
>     :file:/Videoklipp/QSV/dv01_07_av1_svt.webm
>       err: Operation not permitted
>     Svt[error]: deinit called without sending EOS!
>     Render::render_single: Session finished.
>     ** rendered 2832 frames in 109.469 secs, 25.870 fps
>     FFMPEG::open_decoder: some stream times estimated:
>     /Videoklipp/QSV/dv01_07_av1_svt.webm
>     FFMPEG::open_decoder: some stream times estimated:
>     /Videoklipp/QSV/dv01_07_av1_svt.webm
>     audio0 pad 32 -335 (367)
>     FFMPEG::open_decoder: some stream times estimated:
>     /Videoklipp/QSV/dv01_07_av1_svt.webm
>     FFMPEG::open_decoder: some stream times estimated:
>     /Videoklipp/QSV/dv01_07_av1_svt.webm
>     Total excess of backups: -50
>     Session time: 0:27:05
>     Cpu time: user: 0:10:21.894 sys: 0:00:10.195
>
>
>
> to be honest this log does not show SAME error about mismatching 
> format, so it probably was only first half.
>
> can you try to cut av1_qsv.mp4 back to just first non-comment line?

I don't understand:
Can you explain "cut av1_qsv.mp4 back to just first non-comment line" ....?

>
>
>>
>>
>>
>>
>>
>>
>>
>>>
>>>>
>>>>             ffmpeg -hide_banner -hwaccel_output_format qsv
>>>>             -qsv_device /dev/dri/renderD128 -i dv01_07.dv -c:v
>>>>             av1_qsv -preset 4 -profile main -b:v 1570k
>>>>             dv01_07_av1_qsv_main_pr4_bv1570k.webm
>>>>             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
>>>>             [dv @ 0x5606d5914c00] Estimating duration from bitrate,
>>>>             this may be inaccurate
>>>>             Input #0, dv, from 'dv01_07.dv':
>>>>               Metadata:
>>>>                 timecode        : 01:09:35:09
>>>>               Duration: 00:01:53.28, start: 0.000000, bitrate:
>>>>             28800 kb/s
>>>>               Stream #0:0: Video: dvvideo, yuv420p, 720x576 [SAR
>>>>             16:15 DAR 4:3], 28800 kb/s, 60k fps, 25 tbr, 60k tbn
>>>>               Stream #0:1: Audio: pcm_s16le, 48000 Hz, stereo, s16,
>>>>             1536 kb/s
>>>>             Please use -profile:a or -profile:v, -profile is ambiguous
>>>>             Stream mapping:
>>>>               Stream #0:0 -> #0:0 (dvvideo (native) -> av1 (av1_qsv))
>>>>               Stream #0:1 -> #0:1 (pcm_s16le (native) -> opus
>>>>             (libopus))
>>>>             Press [q] to stop, [?] for help
>>>>             [libopus @ 0x5606d5ac5100] No bit rate set. Defaulting
>>>>             to 96000 bps.
>>>>             Output #0, webm, to
>>>>             'dv01_07_av1_qsv_main_pr4_bv1570k.webm':
>>>>               Metadata:
>>>>                 timecode        : 01:09:35:09
>>>>                 encoder         : Lavf61.1.100
>>>>               Stream #0:0: Video: av1, nv12(bottom coded first
>>>>             (swapped)), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 1570
>>>>             kb/s, 25 fps, 1k tbn
>>>>                   Metadata:
>>>>                     encoder         : Lavc61.3.100 av1_qsv
>>>>               Stream #0:1: Audio: opus, 48000 Hz, stereo, s16, 96 kb/s
>>>>                   Metadata:
>>>>                     encoder         : Lavc61.3.100 libopus
>>>>             [out#0/webm @ 0x5606d591cf40] video:22613KiB
>>>>             audio:1186KiB subtitle:0KiB other streams:0KiB global
>>>>             headers:0KiB muxing overhead: 0.223557%
>>>>             frame= 2832 fps=1764 q=-0.0 Lsize=   23852KiB
>>>>             time=00:01:53.24 bitrate=1725.5kbits/s speed=70.5x
>>>>
>>>>>
>>>>>
>>>>>>
>>>>>
>>>>>                 hevc_qsv and h264_qsv encoders also have "high"
>>>>>                 profile:
>>>>>
>>>>>
>>>>>                 ffmpeg -hide_banner -h encoder=hevc_qsv | egrep
>>>>>                 'Supported|profile|main|high'
>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>                     Supported pixel formats: nv12 p010le p012le
>>>>>                 yuyv422 y210le qsv bgra x2rgb10le vuyx xv30le
>>>>>                 -profile <int>        E..V....... (from 0 to
>>>>>                 INT_MAX) (default unknown)
>>>>>                 main 1 E..V.......
>>>>>                 main10 2 E..V.......
>>>>>                 mainsp 3 E..V.......
>>>>>                 -tier <int>        E..V....... Set the encoding
>>>>>                 tier (only level >= 4 can support high tier) (from
>>>>>                 0 to 256) (default high)
>>>>>                 main 0 E..V.......
>>>>>                 high 256 E..V.......
>>>>>
>>>>>
>>>>>                 ffmpeg -hide_banner -h encoder=h264_qsv | egrep
>>>>>                 'Supported|profile|main|high'
>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>                     Supported pixel formats: nv12 qsv
>>>>>                 -profile <int>        E..V....... (from 0 to
>>>>>                 INT_MAX) (default unknown)
>>>>>                 main 77 E..V.......
>>>>>                 high 100 E..V.......
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>                 ffmpeg -hide_banner -h encoder=av1_qsv | egrep
>>>>>>                 'Supported|profile|main'
>>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>>                     Supported pixel formats: nv12 p010le qsv
>>>>>>                 -profile <int>        E..V....... (from 0 to
>>>>>>                 INT_MAX) (default unknown)
>>>>>>                 main 1 E..V.......
>>>>>>
>>>>>>
>>>>>>                 ffmpeg -hide_banner -h encoder=vp9_qsv | egrep
>>>>>>                 'Supported|profile|main'
>>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>>                     Supported pixel formats: nv12 p010le vuyx qsv
>>>>>>                 xv30le
>>>>>>                 -profile <int>        E..V....... (from 0 to
>>>>>>                 INT_MAX) (default unknown)
>>>>>>                 profile0 1 E..V.......
>>>>>>                 profile1 2 E..V.......
>>>>>>                 profile2 3 E..V.......
>>>>>>                 profile3 4 E..V.......
>>>>>>
>>>>>>
>>>>>>                 ffmpeg -hide_banner -h encoder=vp9_qsv | egrep
>>>>>>                 'Supported|main'
>>>>>>                     Supported hardware devices: qsv qsv qsv
>>>>>>                     Supported pixel formats: nv12 p010le vuyx qsv
>>>>>>                 xv30le
>>>>>
>>>>>                 -- 
>>>>>                 Cin mailing list
>>>>>                 Cin at lists.cinelerra-gg.org
>>>>>                 https://lists.cinelerra-gg.org/mailman/listinfo/cin
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241012/0fcf3f06/attachment-0001.htm>


More information about the Cin mailing list