[Cin] FFmpeg supported QSV pixel formats and profiles
Terje J. Hanssen
terjejhanssen at gmail.com
Sat Oct 12 22:39:53 CEST 2024
Den 12.10.2024 21:54, skrev Andrew Randrianasulu:
>
>
> сб, 12 окт. 2024 г., 22:42 Terje J. Hanssen <terjejhanssen at gmail.com>:
>
>
>
>
> Den 12.10.2024 21:36, skrev Terje J. Hanssen:
>>
>>
>>
>> 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" ....?
>>
>
> I came to wonder where are the equivalents to the ffmpeg command
> line "-hwaccel_output_format qsv -qsv_device /dev/dri/renderD128"
> defined in CinGG?
>
>
>
> I think you can change device for vaapi, but I have not tested this
> code for qsv. It seems to puck correct device by default here ... so
> no need to complicate our investigation with this for now.
>
> hwaccel_output_format *probably* only needed for hw transcoding, like
> mpeg2 hdv to av1.
>
> What happen if you remove those two from dv to av1_qsv command line?
It works
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20241012/fb884674/attachment-0001.htm>
More information about the Cin
mailing list