[FFmpeg-devel] [PATCH] ffmpeg: fail on experimental encoders if -strict > experimental

Janne Grunau janne-ffmpeg
Sun May 30 12:37:04 CEST 2010


On Sun, May 30, 2010 at 11:28:16AM +0200, Diego Biurrun wrote:
> On Sat, May 29, 2010 at 04:39:00PM +0200, Janne Grunau wrote:
> > | ./ffmpeg -i test.mkv -acodec aac test.mp4 
> > | FFmpeg version git-e231ecf, Copyright (c) 2000-2010 the FFmpeg developers
> > |   built on May 29 2010 15:59:43 with gcc 4.4.3
> > |   configuration: --enable-gpl --cpu=host --enable-libvorbis --enable-libfaad --enable-libtheora --enable-libfaac --enable-nonfree --disable-asm
> > |   libavutil     50.16. 0 / 50.16. 0
> > |   libavcodec    52.72. 0 / 52.72. 0
> > |   libavformat   52.67. 0 / 52.67. 0
> > |   libavdevice   52. 2. 0 / 52. 2. 0
> > |   libavfilter    1.20. 0 /  1.20. 0
> > |   libswscale     0.10. 0 /  0.10. 0
> > | [matroska @ 0x2a6bc70]Estimating duration from bitrate, this may be inaccurate
> > | 
> > | Seems stream 0 codec frame rate differs from container frame rate: 2997.00 (2997/1) -> 29.92 (359/12)
> > | Input #0, matroska, from 'test.mkv':
> > |   Duration: 00:00:13.37, start: 0.000000, bitrate: N/A
> > |     Stream #0.0: Video: mpeg4, yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 29.97 fps, 29.92 tbr, 1k tbn, 2997 tbc
> > |     Stream #0.1: Audio: aac, 22050 Hz, stereo, s16
> > | encoder "aac" is experimental and might produce bad results.
> > | Add "-strict experimental" if you want to use it.
> > | Or use the non experimental encoder "libfaac".
> > 
> > The last line is generated by attached patch
> 
> Please do something similar for Vorbis (if you haven't already).

The same works for all experimental codecs. The alternative display works only
if alternatives with the same codec id are available. I.e. a build without
--enable-libfaac won't display the last line. This is the only way which works
without maintaining a seperate list of alternatives or an 'alternative field
in AVCodec struct.

Janne



More information about the ffmpeg-devel mailing list