[FFmpeg-devel] Some questions about ffmpeg h264_qsv decoder

Ron yoyo at yoyo.so
Wed Sep 16 08:00:02 CEST 2015


Hello everyone,

Some questions about ffmpeg h264_qsv decoder.

a) qsv decode h264 file found many duplicated frames.
 ffmpeg -c:v h264_qsv -i in.h264 -c:v h264_qsv -preset veryfast -bf 0 -refs 0 -b:v 2000k -maxrate 2000k -r 29.97 out.h264
[h264_qsv @ 0x2801ae0] A decode call did not consume any data
Past duration 0.790398 too large
[h264_qsv @ 0x2801ae0] A decode call did not consume any data
    Last message repeated 1 times
frame= 7172 fps=264 q=-0.0 Lsize=   58196kB time=00:03:59.63 bitrate=1989.4kbits/s dup=4178 drop=0  
The input is only 100 seconds and 2997 frames, but output  7172 frames consit of 2997 original and 4178 dup.
But if the input file is a mp4 or the decoder is h264 (cmd: ffmpeg -c:v h264 -i in.h264 ... )  it works well !!!
Press [q] to stop, [?] for help
frame= 2994 fps=178 q=-0.0 Lsize=   24206kB time=00:01:39.76 bitrate=1987.6kbits/s    
video:24206kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

b) A 1920x1080 video transcode to 1280x720, both CPU and GPU used more than 1920x1080 to  1920x1080.
[root at localhost video]# time ffmpeg -y -i in.h264 -c:v h264_qsv  out.h264
frame= 2994 fps=145 q=-0.0 Lsize=   12294kB time=00:01:39.73 bitrate=1009.8kbits/s    
video:12294kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

real    0m20.878s
user    1m14.787s
sys    0m5.365s

[root at localhost video]# time ffmpeg  -y -i in.h264 -c:v h264_qsv -s 1280x720 out.h264
frame= 2994 fps=112 q=-0.0 Lsize=   12194kB time=00:01:39.73 bitrate=1001.6kbits/s    
video:12194kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.000000%

real    0m26.884s
user    1m11.273s
sys    0m2.210s

Both 'top' and 'intel_gpu_top' show the second test used more CPU and GPU.


More information about the ffmpeg-devel mailing list