[Cin] FFmpeg supported QSV pixel formats and profiles

Terje J. Hanssen terjejhanssen at gmail.com
Sat Oct 12 19:45:33 CEST 2024




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.




>
>>
>>     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/6f6397fa/attachment-0001.htm>


More information about the Cin mailing list