We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Encode
None
In Linux use master code of gmmlib/libva/media-driver/onevpl/onevpl-gpu-rt/ffmpeg.
Run the 1:N cmd: ffmpeg -v verbose \ -init_hw_device vaapi=intel:/dev/dri/renderD128 \ -hwaccel vaapi -hwaccel_output_format vaapi \ -hwaccel_device intel -filter_hw_device intel \ -loglevel info \ -fflags +genpts \ -i "meridian_hdr.mp4" \ -filter_complex \ "[0:v]hwmap=derive_device=qsv,format=qsv,vpp_qsv=deinterlace=2:async_depth=1,split=5[s1][s2][s3][s4][s5]; \ [s1]vpp_qsv=w=1920:h=1080:async_depth=1:scale_mode=1[v1]; \ [s2]vpp_qsv=w=1280:h=720:async_depth=1:scale_mode=1[v2]; \ [s3]vpp_qsv=w=960:h=540:async_depth=1:scale_mode=1[v3]; \ [s4]vpp_qsv=w=768:h=432:async_depth=1:scale_mode=1[v4]; \ [s5]vpp_qsv=w=640:h=360:async_depth=1:scale_mode=1[v5]" \ -map "[v1]" -c:v vp9_qsv -b:v 5000k -minrate:v 5000k -maxrate:v 5000k -bufsize:v 1250k -rc_init_occupancy:v 625k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "1080p-vp9_qsv.mp4" \ -map "[v2]" -c:v vp9_qsv -b:v 4000k -minrate:v 4000k -maxrate:v 4000k -bufsize:v 1000k -rc_init_occupancy:v 500k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "720p-vp9_qsv.mp4" \ -map "[v3]" -c:v vp9_qsv -b:v 2500k -minrate:v 2500k -maxrate:v 2500k -bufsize:v 625k -rc_init_occupancy:v 312k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "540p-vp9_qsv.mp4" \ -map "[v4]" -c:v vp9_qsv -b:v 1500k -minrate:v 1500k -maxrate:v 1500k -bufsize:v 375k -rc_init_occupancy:v 187k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "432p-vp9_qsv.mp4" \ -map "[v5]" -c:v vp9_qsv -b:v 1000k -minrate:v 1000k -maxrate:v 1000k -bufsize:v 250k -rc_init_occupancy:v 125k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "360p-vp9_qsv.mp4"
ffmpeg -v verbose \ -init_hw_device vaapi=intel:/dev/dri/renderD128 \ -hwaccel vaapi -hwaccel_output_format vaapi \ -hwaccel_device intel -filter_hw_device intel \ -loglevel info \ -fflags +genpts \ -i "meridian_hdr.mp4" \ -filter_complex \ "[0:v]hwmap=derive_device=qsv,format=qsv,vpp_qsv=deinterlace=2:async_depth=1,split=5[s1][s2][s3][s4][s5]; \ [s1]vpp_qsv=w=1920:h=1080:async_depth=1:scale_mode=1[v1]; \ [s2]vpp_qsv=w=1280:h=720:async_depth=1:scale_mode=1[v2]; \ [s3]vpp_qsv=w=960:h=540:async_depth=1:scale_mode=1[v3]; \ [s4]vpp_qsv=w=768:h=432:async_depth=1:scale_mode=1[v4]; \ [s5]vpp_qsv=w=640:h=360:async_depth=1:scale_mode=1[v5]" \ -map "[v1]" -c:v vp9_qsv -b:v 5000k -minrate:v 5000k -maxrate:v 5000k -bufsize:v 1250k -rc_init_occupancy:v 625k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "1080p-vp9_qsv.mp4" \ -map "[v2]" -c:v vp9_qsv -b:v 4000k -minrate:v 4000k -maxrate:v 4000k -bufsize:v 1000k -rc_init_occupancy:v 500k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "720p-vp9_qsv.mp4" \ -map "[v3]" -c:v vp9_qsv -b:v 2500k -minrate:v 2500k -maxrate:v 2500k -bufsize:v 625k -rc_init_occupancy:v 312k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "540p-vp9_qsv.mp4" \ -map "[v4]" -c:v vp9_qsv -b:v 1500k -minrate:v 1500k -maxrate:v 1500k -bufsize:v 375k -rc_init_occupancy:v 187k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "432p-vp9_qsv.mp4" \ -map "[v5]" -c:v vp9_qsv -b:v 1000k -minrate:v 1000k -maxrate:v 1000k -bufsize:v 250k -rc_init_occupancy:v 125k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "360p-vp9_qsv.mp4"
See the error log:
[vp9_qsv @ 0x5a82e1403540] Invalid FrameType:0 [vost#4:0/vp9_qsv @ 0x5a82e1402840] [enc:vp9_qsv @ 0x5a82e1403440] Error submitting video frame to the encoder [vost#4:0/vp9_qsv @ 0x5a82e1402840] [enc:vp9_qsv @ 0x5a82e1403440] Error encoding a frame: Invalid data found when processing input [vost#0:0/vp9_qsv @ 0x5a82e13ee2c0] Task finished with error code: -1094995529 (Invalid data found when processing input) [vost#0:0/vp9_qsv @ 0x5a82e13ee2c0] Terminating thread with return code -1094995529 (Invalid data found when processing input) frame=21360 fps= 38 q=-0.0 Lq=-0.0 q=-0.0 q=-0.0 q=-0.0 size= 220461KiB time=00:05:56.33 bitrate=5068.3kbits/s speed=0.635x Conversion failed!
And checked the err is caused by: https://github.com/FFmpeg/FFmpeg/blob/96d45c3b212689f82bff2530c3637405df9e9369/libavcodec/qsvenc.c#L2663 The MFXVideoCORE_SyncOperation returns MFX_ERR_NOT_ENOUGH_BUFFER. And the vpl doc doesn't mention this API can and why return MFX_ERR_NOT_ENOUGH_BUFFER: https://intel.github.io/libvpl/latest/API_ref/VPL_func_vidcore.html#_CPPv426MFXVideoCORE_SyncOperation10mfxSession12mfxSyncPoint6mfxU32
The issue only happens on vp9_qsv. hevc_qsv and h264_qsv looks good. And this issue is a re-map of The encoder vp9_qsv fails with Invalid FrameType:0 on some inputs. cartwheel-ffmpeg#360
vp9_qsv
Invalid FrameType:0
Transcode for media delivery
No response
The text was updated successfully, but these errors were encountered:
Any updates here?
Sorry, something went wrong.
Auto Created VSMGWL-77181 for further analysis.
leyu-yao
bai-isaac
No branches or pull requests
Which component impacted?
Encode
Is it regression? Good in old configuration?
None
What happened?
In Linux use master code of gmmlib/libva/media-driver/onevpl/onevpl-gpu-rt/ffmpeg.
Run the 1:N cmd:
ffmpeg -v verbose \ -init_hw_device vaapi=intel:/dev/dri/renderD128 \ -hwaccel vaapi -hwaccel_output_format vaapi \ -hwaccel_device intel -filter_hw_device intel \ -loglevel info \ -fflags +genpts \ -i "meridian_hdr.mp4" \ -filter_complex \ "[0:v]hwmap=derive_device=qsv,format=qsv,vpp_qsv=deinterlace=2:async_depth=1,split=5[s1][s2][s3][s4][s5]; \ [s1]vpp_qsv=w=1920:h=1080:async_depth=1:scale_mode=1[v1]; \ [s2]vpp_qsv=w=1280:h=720:async_depth=1:scale_mode=1[v2]; \ [s3]vpp_qsv=w=960:h=540:async_depth=1:scale_mode=1[v3]; \ [s4]vpp_qsv=w=768:h=432:async_depth=1:scale_mode=1[v4]; \ [s5]vpp_qsv=w=640:h=360:async_depth=1:scale_mode=1[v5]" \ -map "[v1]" -c:v vp9_qsv -b:v 5000k -minrate:v 5000k -maxrate:v 5000k -bufsize:v 1250k -rc_init_occupancy:v 625k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "1080p-vp9_qsv.mp4" \ -map "[v2]" -c:v vp9_qsv -b:v 4000k -minrate:v 4000k -maxrate:v 4000k -bufsize:v 1000k -rc_init_occupancy:v 500k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "720p-vp9_qsv.mp4" \ -map "[v3]" -c:v vp9_qsv -b:v 2500k -minrate:v 2500k -maxrate:v 2500k -bufsize:v 625k -rc_init_occupancy:v 312k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "540p-vp9_qsv.mp4" \ -map "[v4]" -c:v vp9_qsv -b:v 1500k -minrate:v 1500k -maxrate:v 1500k -bufsize:v 375k -rc_init_occupancy:v 187k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "432p-vp9_qsv.mp4" \ -map "[v5]" -c:v vp9_qsv -b:v 1000k -minrate:v 1000k -maxrate:v 1000k -bufsize:v 250k -rc_init_occupancy:v 125k \ -g:v 120 -async_depth:v 1 -refs:v 5 -bf:v 0 -preset:v medium -strict:v 1 -low_power:v 1 \ -flags +global_header+cgop -f mp4 -y "360p-vp9_qsv.mp4"
See the error log:
[vp9_qsv @ 0x5a82e1403540] Invalid FrameType:0 [vost#4:0/vp9_qsv @ 0x5a82e1402840] [enc:vp9_qsv @ 0x5a82e1403440] Error submitting video frame to the encoder [vost#4:0/vp9_qsv @ 0x5a82e1402840] [enc:vp9_qsv @ 0x5a82e1403440] Error encoding a frame: Invalid data found when processing input [vost#0:0/vp9_qsv @ 0x5a82e13ee2c0] Task finished with error code: -1094995529 (Invalid data found when processing input) [vost#0:0/vp9_qsv @ 0x5a82e13ee2c0] Terminating thread with return code -1094995529 (Invalid data found when processing input) frame=21360 fps= 38 q=-0.0 Lq=-0.0 q=-0.0 q=-0.0 q=-0.0 size= 220461KiB time=00:05:56.33 bitrate=5068.3kbits/s speed=0.635x Conversion failed!
And checked the err is caused by:
https://github.com/FFmpeg/FFmpeg/blob/96d45c3b212689f82bff2530c3637405df9e9369/libavcodec/qsvenc.c#L2663
The MFXVideoCORE_SyncOperation returns MFX_ERR_NOT_ENOUGH_BUFFER. And the vpl doc doesn't mention this API can and why return MFX_ERR_NOT_ENOUGH_BUFFER:
https://intel.github.io/libvpl/latest/API_ref/VPL_func_vidcore.html#_CPPv426MFXVideoCORE_SyncOperation10mfxSession12mfxSyncPoint6mfxU32
The issue only happens on vp9_qsv. hevc_qsv and h264_qsv looks good. And this issue is a re-map of The encoder
vp9_qsv
fails withInvalid FrameType:0
on some inputs. cartwheel-ffmpeg#360What's the usage scenario when you are seeing the problem?
Transcode for media delivery
What impacted?
No response
Debug Information
No response
Do you want to contribute a patch to fix the issue?
None
The text was updated successfully, but these errors were encountered: