Hi Zhong, Thanks for your reply.
> IMHO If you set the aligned value, FrameInfo.Width/Height shoule > be changed to be: > > q->param.mfx.FrameInfo.Width = FFALIGN(avctx->width, q->width_align); > q->param.mfx.FrameInfo.Height = FFALIGN(avctx->height, q->height_align); Makes sense. I'll update the patch. This is my first time making changes to the code so forgive any mistakes as I find my way around. > Could you help to provide detail steps (CLI and input video) to > reproduce the issue? The command line I'm using is below along with the output without the changes applied. Input video is not important, any video will do. There is a little bit more about the problem here http://ffmpeg.org/pipermail/ffmpeg-user/2019-November/046143.html Regards, Jon $ ./ffmpeg.exe -loglevel debug -y -i C:/Users/jcook/Desktop/sample.avi -c:v mjpeg_qsv output.mp4 ffmpeg version N-95883-ga2fbdc6898 Copyright (c) 2000-2019 the FFmpeg developers built with Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27031.1 for x64 configuration: --toolchain=msvc --target-os=win64 --arch=x86_64 --prefix=/ffmpeg --enable-shared --disable-static --enable-yasm --enable-asm --enable-libmfx --enable-nonfree libavutil 56. 36.101 / 56. 36.101 libavcodec 58. 62.100 / 58. 62.100 libavformat 58. 35.100 / 58. 35.100 libavdevice 58. 9.101 / 58. 9.101 libavfilter 7. 67.100 / 7. 67.100 libswscale 5. 6.100 / 5. 6.100 libswresample 3. 6.100 / 3. 6.100 Splitting the commandline. Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'. Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'. Reading option '-i' ... matched as input url with argument 'C:/Users/jcook/Desktop/sample.avi'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument ' mjpeg_qsv'. Reading option 'output.mp4' ... matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option loglevel (set logging level) with argument debug. Applying option y (overwrite output files) with argument 1. Successfully parsed a group of options. Parsing a group of options: input url C:/Users/jcook/Desktop/sample.avi. Successfully parsed a group of options. Opening an input file: C:/Users/jcook/Desktop/sample.avi. [NULL @ 000001E0699F8540] Opening 'C:/Users/jcook/Desktop/sample.avi' for reading [file @ 000001E0699D8280] Setting default whitelist 'file,crypto' [avi @ 000001E0699F8540] Format avi probed with size=2048 and score=100 [avi @ 000001E0699D86C0] use odml:1 st:1 removing common factor 36 from timebase [avi @ 000001E0699F8540] Before avformat_find_stream_info() pos: 4108 bytes read:142280 seeks:5 nb_streams:2 [mpeg4 @ 000001E069A0AE00] Format yuv420p chosen by get_format(). [avi @ 000001E0699F8540] All info found [avi @ 000001E0699F8540] After avformat_find_stream_info() pos: 16409 bytes read:142280 seeks:5 frames:21 Input #0, avi, from 'C:/Users/jcook/Desktop/sample.avi': Metadata: encoder : MEncoder SVN-r33148-4.0.1 Duration: 00:00:05.56, start: 0.000000, bitrate: 540 kb/s Stream #0:0, 1, 1/25: Video: mpeg4 (Simple Profile), 1 reference frame (XVID / 0x44495658), yuv420p(left), 320x240 [SAR 1:1 DAR 4:3], 0/1, 425 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc Stream #0:1, 20, 32/1225: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, fltp, 100 kb/s Successfully opened the file. Parsing a group of options: output url output.mp4. Applying option c:v (codec name) with argument mjpeg_qsv. Successfully parsed a group of options. Opening an output file: output.mp4. [file @ 000001E06B51B9C0] Setting default whitelist 'file,crypto' Successfully opened the file. detected 12 logical cores Stream mapping: Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (mjpeg_qsv)) Stream #0:1 -> #0:1 (mp3 (mp3float) -> aac (native)) Press [q] to stop, [?] for help cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) [graph_1_in_0_1 @ 000001E069A12A40] Setting 'time_base' to value '1/44100' [graph_1_in_0_1 @ 000001E069A12A40] Setting 'sample_rate' to value '44100' [graph_1_in_0_1 @ 000001E069A12A40] Setting 'sample_fmt' to value 'fltp' [graph_1_in_0_1 @ 000001E069A12A40] Setting 'channel_layout' to value '0x3' [graph_1_in_0_1 @ 000001E069A12A40] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3 [format_out_0_1 @ 000001E069A2F800] Setting 'sample_fmts' to value 'fltp' [format_out_0_1 @ 000001E069A2F800] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000|7350' [AVFilterGraph @ 000001E069AA7100] query_formats: 4 queried, 9 merged, 0 already done, 0 delayed cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) Last message repeated 20 times [mpeg4 @ 000001E069A2EE00] Format yuv420p chosen by get_format(). cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream) Last message repeated 28 times [graph 0 input from stream 0:0 @ 000001E069A31640] Setting 'video_size' to value '320x240' [graph 0 input from stream 0:0 @ 000001E069A31640] Setting 'pix_fmt' to value '0' [graph 0 input from stream 0:0 @ 000001E069A31640] Setting 'time_base' to value '1/25' [graph 0 input from stream 0:0 @ 000001E069A31640] Setting 'pixel_aspect' to value '1/1' [graph 0 input from stream 0:0 @ 000001E069A31640] Setting 'sws_param' to value 'flags=2' [graph 0 input from stream 0:0 @ 000001E069A31640] Setting 'frame_rate' to value '25/1' [graph 0 input from stream 0:0 @ 000001E069A31640] w:320 h:240 pixfmt:yuv420p tb:1/25 fr:25/1 sar:1/1 sws_param:flags=2 [format @ 000001E06BBCED80] Setting 'pix_fmts' to value 'nv12|qsv' [auto_scaler_0 @ 000001E06BBCEE80] Setting 'flags' to value 'bicubic' [auto_scaler_0 @ 000001E06BBCEE80] w:iw h:ih flags:'bicubic' interl:0 [format @ 000001E06BBCED80] auto-inserting filter 'auto_scaler_0' between the filter 'Parsed_null_0' and the filter 'format' [AVFilterGraph @ 000001E069AA7F80] query_formats: 4 queried, 2 merged, 1 already done, 0 delayed [auto_scaler_0 @ 000001E06BBCEE80] w:320 h:240 fmt:yuv420p sar:1/1 -> w:320 h:240 fmt:nv12 sar:1/1 flags:0x4 [mjpeg_qsv @ 000001E069A01B80] Initialized an internal MFX session using hardware accelerated implementation Output #0, mp4, to 'output.mp4': Metadata: encoder : Lavf58.35.100 Stream #0:0, 0, 1/12800: Video: mjpeg (mjpeg_qsv), 1 reference frame (mp4v / 0x7634706D), nv12(left), 320x240 [SAR 1:1 DAR 4:3], 0/1, q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc Metadata: encoder : Lavc58.62.100 mjpeg_qsv Stream #0:1, 0, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, delay 1024, 128 kb/s Metadata: encoder : Lavc58.62.100 aac Clipping frame in rate conversion by 0.000008 [mjpeg_qsv @ 000001E069A01B80] Error submitting the frame for encoding. Video encoding failed [AVIOContext @ 000001E06B51BA80] Statistics: 0 seeks, 1 writeouts [aac @ 000001E069A3A6C0] Qavg: 709.099 [aac @ 000001E069A3A6C0] 2 frames left in the queue on closing [AVIOContext @ 000001E0699D1440] Statistics: 175048 bytes read, 5 seeks Conversion failed! _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".