X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=Changelog;h=e64dca688b607972cc8bb5319e0afd90b1ed9642;hb=5c15b78e4a47c46de03d5e7291ed19a717f36885;hp=103b668aaa2c114cae26bed0fb7d80cd7da75e9c;hpb=70d9fb696393277247101da47e67d568a6aea4d9;p=ffmpeg diff --git a/Changelog b/Changelog index 103b668aaa2..e64dca688b6 100644 --- a/Changelog +++ b/Changelog @@ -11,37 +11,72 @@ version next: - added avconv, which is almost the same for now, except for a few incompatible changes in the options, which will hopefully make them easier to use. The changes are: - * -newvideo/-newaudio/-newsubtitle are gone, because they were redundant and - worked in a nonstandard way. -map is sufficient to add streams to output - files. - * -map now has slightly different and more powerful syntax. - + it's possible to specify stream type. E.g. -map 0:a:2 means 'third - audio stream'. - + omitting the stream index now maps all the streams of the given - type, not just the first. E.g. -map 0:s maps all the subtitle streams. - + colons (':') are used to separate file index/stream type/stream - index. Comma (',') is used to separate the sync stream. This is done - for consistency with other options. - + since -map can now match multiple streams, negative mappings were + * The options placement is now strictly enforced! While in theory the + options for ffmpeg should be given in [input options] -i INPUT [output + options] OUTPUT order, in practice it was possible to give output options + before the -i and it mostly worked. Except when it didn't - the behavior was + a bit inconsistent. In avconv, it is not possible to mix input and output + options. All non-global options are reset after an input or output filename. + * All per-file options are now truly per-file - they apply only to the next + input or output file and specifying different values for different files + will now work properly (notably -ss and -t options). + * All per-stream options are now truly per-stream - it is possible to + specify which stream(s) should a given option apply to. See the Stream + specifiers section in the avconv manual for details. + * In ffmpeg some options (like -newvideo/-newaudio/...) are irregular in the + sense that they're specified after the output filename instead of before, + like all other options. In avconv this irregularity is removed, all options + apply to the next input or output file. + * -newvideo/-newaudio/-newsubtitle options were removed. Not only were they + irregular and highly confusing, they were also redundant. In avconv the -map + option will create new streams in the output file and map input streams to + them. E.g. avconv -i INPUT -map 0 OUTPUT will create an output stream for + each stream in the first input file. + * The -map option now has slightly different and more powerful syntax: + + Colons (':') are used to separate file index/stream type/stream index + instead of dots. Comma (',') is used to separate the sync stream instead + of colon.. This is done for consistency with other options. + + It's possible to specify stream type. E.g. -map 0:a:2 creates an + output stream from the third input audio stream. + + Omitting the stream index now maps all the streams of the given type, + not just the first. E.g. -map 0:s creates output streams for all the + subtitle streams in the first input file. + + Since -map can now match multiple streams, negative mappings were introduced. Negative mappings disable some streams from an already - defined map. E.g. '-map 0 -map -0:a:1' means 'map everything except - for the second audio stream'. - * -vcodec/-acodec/-scodec are replaced by -c (or -codec), which - allows to precisely specify target stream(s) consistently with other - options. E.g. '-c:v libx264' sets the codec for all video streams, - '-c:a:0 libvorbis' sets the codec for the first audio stream and '-c - copy' copies all the streams. + defined map. E.g. '-map 0 -map -0:a:1' means 'create output streams for + all the stream in the first input file, except for the second audio + stream'. + * There is a new option -c (or -codec) for choosing the decoder/encoder to + use, which allows to precisely specify target stream(s) consistently with + other options. E.g. -c:v lib264 sets the codec for all video streams, -c:a:0 + libvorbis sets the codec for the first audio stream and -c copy copies all + the streams without reencoding. Old -vcodec/-acodec/-scodec options are now + aliases to -c:v/a/s * It is now possible to precisely specify which stream should an AVOption - apply to. See the manual for detailed explanation. + apply to. E.g. -b:v:0 2M sets the bitrate for the first video stream, while + -b:a 128k sets the bitrate for all audio streams. Note that the old -ab 128k + syntax is deprecated and will stop working soon. * -map_chapters now takes only an input file index and applies to the next output file. This is consistent with how all the other options work. * -map_metadata now takes only an input metadata specifier and applies to the next output file. Output metadata specifier is now part of the option name, similarly to the AVOptions/map/codec feature above. - * Presets in avconv are disabled, because only libx264 used them and - presets for libx264 can now be specified using a private option - '-preset '. - * -intra option was removed, it's equivalent to -g 0. + * -metadata can now be used to set metadata on streams and chapters, e.g. + -metadata:s:1 language=eng sets the language of the first stream to 'eng'. + This made -vlang/-alang/-slang options redundant, so they were removed. + * -qscale option now uses stream specifiers and applies to all streams, not + just video. I.e. plain -qscale number would now apply to all streams. To get + the old behavior, use -qscale:v. Also there is now a shortcut -q for -qscale + and -aq is now an alias for -q:a. + * -vbsf/-absf/-sbsf options were removed and replaced by a -bsf option which + uses stream specifiers. Use -bsf:v/a/s instead of the old options. + * -itsscale option now uses stream specifiers, so its argument is only the + scale parameter. + * -intra option was removed, use -g 0 for the same effect. + * -psnr option was removed, use -flags +psnr for the same effect. + * -vf option is now an alias to the new -filter option, which uses stream specifiers. + * -vframes/-aframes/-dframes options are now aliases to the new -frames option. + * -vtag/-atag/-stag options are now aliases to the new -tag option. - XMV demuxer - LOAS demuxer - ashowinfo filter added @@ -65,6 +100,32 @@ easier to use. The changes are: - VC-1 interlaced decoding - libutvideo wrapper (--enable-libutvideo) - aevalsrc audio source added +- Ut Video decoder +- Speex encoding via libspeex +- 4:2:2 H.264 decoding support +- 4:2:2 and 4:4:4 H.264 encoding with libx264 +- Pulseaudio input device +- Prores encoder +- Video Decoder Acceleration (VDA) HWAccel module. +- replacement Indeo 3 decoder +- new ffmpeg option: -map_channel +- volume audio filter added +- earwax audio filter added +- libv4l2 support (--enable-libv4l2) +- TLS/SSL and HTTPS protocol support +- AVOptions API rewritten and documented +- most of CODEC_FLAG2_*, some CODEC_FLAG_* and many codec-specific fields in + AVCodecContext deprecated. Codec private options should be used instead. +- Properly working defaults in libx264 wrapper, support for native presets. +- Encrypted OMA files support +- Discworld II BMV decoding support +- VBLE Decoder +- OS X Video Decoder Acceleration (VDA) support +- compact and csv output in ffprobe +- pan audio filter +- IFF Amiga Continuous Bitmap (ACBM) decoder +- ass filter +- CRI ADX audio format demuxer version 0.8: @@ -184,6 +245,7 @@ version 0.8: - lut, lutrgb, and lutyuv filters added - buffersink libavfilter sink added - Bump libswscale for recently reported ABI break +- New J2K encoder (via OpenJPEG) version 0.7: