[FFmpeg-devel] Merge commit 'b9ece15a01782b4f301c0c139d1d7b20f848914c'

Hendrik Leppkes h.leppkes at gmail.com
Wed Dec 23 13:03:33 CET 2015


On Wed, Dec 23, 2015 at 12:47 PM, Carl Eugen Hoyos <cehoyos at ag.or.at> wrote:
> Nicolas George <george <at> nsup.org> writes:
>
>>
>> Le tridi 3 nivôse, an CCXXIV, Carl Eugen Hoyos a écrit :
>> > yuv4mpegpipe used to accept (only) rawvideo as codec.
>> > Bug reports indicate that changing this (without any
>> > explanation) breaks usage of the muxer.
>>
>> Seems to work fine here.
>
> $ ffmpeg -f lavfi -i color -f yuv4mpegpipe -vcodec rawvideo /dev/null
> ffmpeg version N-77434-gb18230e Copyright (c) 2000-2015 the FFmpeg developers
>   built with gcc 4.7 (SUSE Linux)
>   configuration: --enable-gpl
>   libavutil      55. 11.100 / 55. 11.100
>   libavcodec     57. 19.100 / 57. 19.100
>   libavformat    57. 20.100 / 57. 20.100
>   libavdevice    57.  0.100 / 57.  0.100
>   libavfilter     6. 21.100 /  6. 21.100
>   libswscale      4.  0.100 /  4.  0.100
>   libswresample   2.  0.101 /  2.  0.101
>   libpostproc    54.  0.100 / 54.  0.100
> Input #0, lavfi, from 'color':
>   Duration: N/A, start: 0.000000, bitrate: N/A
>     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR
> 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
> File '/dev/null' already exists. Overwrite ? [y/N]
> Not overwriting - exiting
> cehoyos at lisbeth:~/test/cehoyos/FFmpeg> ./ffmpeg -f lavfi -i color -f
> yuv4mpegpipe -vcodec rawvideo -y /dev/null
> ffmpeg version N-77434-gb18230e Copyright (c) 2000-2015 the FFmpeg developers
>   built with gcc 4.7 (SUSE Linux)
>   configuration: --enable-gpl
>   libavutil      55. 11.100 / 55. 11.100
>   libavcodec     57. 19.100 / 57. 19.100
>   libavformat    57. 20.100 / 57. 20.100
>   libavdevice    57.  0.100 / 57.  0.100
>   libavfilter     6. 21.100 /  6. 21.100
>   libswscale      4.  0.100 /  4.  0.100
>   libswresample   2.  0.101 /  2.  0.101
>   libpostproc    54.  0.100 / 54.  0.100
> Input #0, lavfi, from 'color':
>   Duration: N/A, start: 0.000000, bitrate: N/A
>     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR
> 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
> [yuv4mpegpipe @ 0x1f79e80] ERROR: Codec not supported.
> Output #0, yuv4mpegpipe, to '/dev/null':
>   Metadata:
>     encoder         : Lavf57.20.100
>     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR
> 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
>     Metadata:
>       encoder         : Lavc57.19.100 rawvideo
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo (native) -> rawvideo (native))
> Could not write header for output file #0 (incorrect codec parameters ?):
> Invalid data found when processing input
>

Just skip the vcodec entirely and it'll work magically, and faster as
well - which is the reason for the change, it avoids a costly memcpy
of every single video frame.

- Hendrik


More information about the ffmpeg-devel mailing list