summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | lavf/gif: avoid forward declaration.Clément Bœsch2013-04-191-16/+13
| |
* | lavf/gif: correct the delay after the first frame.Clément Bœsch2013-04-192-7/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To define accurately the delay between two frames, it is necessary to have both available. Before this commit, the first frame had a delay of 0; while in practice the problem is not visible in most situation, it is problematic with low frame rate and large scene change. This commit notably fixes output generated with commands such as: ffmpeg -i big_buck_bunny_1080p_h264.mov -vf "select='gt(scene,0.4)',scale=320:-1,setpts=N/TB" -frames:v 5 -y out.gif Also, to avoid odd loop delays, the N-1 delay is duplicated for the last frame.
* | lavfi/afade: use AV_OPT_TYPE_DURATIONPaul B Mahol2013-04-192-13/+24
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | lavf/gif: fix timing.Clément Bœsch2013-04-192-15/+12
| | | | | | | | | | pkt->duration can not be used since the values are only based on frame rate.
* | gif: use only one graphic control extension block per image.Clément Bœsch2013-04-193-198/+205
| | | | | | | | | | | | | | | | | | | | The encoder now doesn't produce any extra graphic control extension block anymore. Only the image is encoded, and the muxer writing its own GCE containing notably the timing information now includes the optional palette transmitted through packet side data. This commit avoid setting clashes between the two GCE, and reduce the size of the generated file with pal8 output.
* | lavc/utils: merge side data after video encode.Clément Bœsch2013-04-191-0/+2
| | | | | | | | This allows encoders to communicate side data to the muxers.
* | fate/gif: create meaningful gif encoding tests.Clément Bœsch2013-04-199-35/+1056
| |
* | mxfdec: fix return variable type for avio_seekMarton Balint2013-04-191-2/+3
| | | | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fix multithreaded MPEG-4 decoding.Reimar Döffinger2013-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Regression since c10d498bfd246a40cc7830838b74e18a79418839. Unfortunately ff_thread_get_format can only be called from a separate decode thread, running it during init will fail. Fixes for that are welcome, for now just revert back to calling avctx->get_format directly, which is correct but having to decide on a case-by-case basis which approach to use is a bit messy. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | Merge remote-tracking branch 'cigaes/master'Michael Niedermayer2013-04-194-26/+42
|\ \ | | | | | | | | | | | | | | | | | | | | | * cigaes/master: ffmpeg: make -aspect work with -vcodec copy. lavfi/vf_aspect: improve compatibility of parsing. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * | ffmpeg: make -aspect work with -vcodec copy.Nicolas George2013-04-183-14/+25
| | |
| * | lavfi/vf_aspect: improve compatibility of parsing.Nicolas George2013-04-181-12/+17
| | | | | | | | | | | | | | | | | | | | | Try to accept both the old "num:den" and the new "num/den" syntax. Fix "aspect=2" being ignored due to a missing den. Also remove a duplicated #include.
* | | avformat: Dont stop probing before the whole id3 tag is readMichael Niedermayer2013-04-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | When a file appears to start with a id3 tag and appears to also be something else, then try to increase the probe buffer size if its below its limit. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | | lavfi/mptestsrc: fix invalid access in case of negative linesizeStefano Sabatini2013-04-181-4/+8
| | | | | | | | | | | | | | | In particular, fix crash with: ffplay -f lavfi mptestsrc,vflip
* | | subtitles: introduce ASS codec id and use it.Clément Bœsch2013-04-1816-20/+205
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA markup is muxed in a standalone .ass/.ssa file. This means the AVPacket data starts with a "Dialogue:" string, followed by a timing information (start and end of the event as string) and a trailing CRLF after each line. One packet can contain several lines. We'll refer to this layout as "SSA" or "SSA lines". In matroska, this markup is not stored as such: it has no "Dialogue:" prefix, it contains a ReadOrder field, the timing information is not in the payload, and it doesn't contain the trailing CRLF. See [1] for more info. We'll refer to this layout as "ASS". Since we have only one common codec for both formats, the matroska demuxer is constructing an AVPacket following the "SSA lines" format. This causes several problems, so it was decided to change this into clean ASS packets. Some insight about what is changed or unchanged in this commit: CODECS ------ - the decoding process still writes "SSA lines" markup inside the ass fields of the subtitles rectangles (sub->rects[n]->ass), which is still the current common way of representing decoded subtitles markup. It is meant to change later. - new ASS codec id: AV_CODEC_ID_ASS (which is different from the legacy AV_CODEC_ID_SSA) - lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of "ass") for consistency with the codec id and allows to add a real ass decoder. This ass decoder receives clean ASS lines (so it starts with a ReadOrder, is followed by the Layer, etc). We make sure this is decoded properly in a new ass-line rectangle of the decoded subtitles (the ssa decoder OTOH is doing a simple straightforward copy). Using the packet timing instead of data string makes sure the ass-line now contains the appropriate timing. - lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed into "ssa" (instead of "ass") for consistency with the codec id, and allows to add a real "ass" encoder. One important thing about this encoder is that it only supports one ass rectangle: we could have put several dialogue events in the AVPacket (separated by a \0 for instance) but this would have cause trouble for the muxer which needs not only the start time, but also the duration: typically, you have merged events with the same start time (stored in the AVPacket->pts) but a different duration. At the moment, only the matroska do the merge with the SSA-line codec. We will need to make sure all the decoders in the future can't add more than one rectangle (and only one Dialogue line in it obviously). FORMATS ------- - lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets. In the case of ASS packets as input, it adds the timing based on the AVPacket pts and duration, and mux it with "Dialogue:", trailing CRLF, etc. - lavf/assdec: unchanged; it currently still only outputs SSA-lines packets. - lavf/mkv: the demuxer can now output ASS packets without the need of any "SSA-lines" reconstruction hack. It will become the default at next libavformat bump, and the SSA support will be dropped from the demuxer. The muxer can take ASS packets since it's muxed normally, and still supports the old SSA packets. All the SSA support and hacks in Matroska code will be dropped at next lavf bump. [1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
* | Merge remote-tracking branch 'cigaes/master'Michael Niedermayer2013-04-181-1/+1
|\ \ | | | | | | | | | | | | | | | | | | * cigaes/master: examples/filtering_audio: fix frame leak. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * | examples/filtering_audio: fix frame leak.Nicolas George2013-04-181-1/+1
| | | | | | | | | | | | | | | The frame is not used after being added to the filter graph, there is no need to keep the reference.
* | | avcodec/mpegvideo_motion: Check P field referencesMichael Niedermayer2013-04-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | If a reference is unavailable use a field from the current picture Fixes null pointer dereference Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | | svq3: use memmove to avoid overlap in memcpy.Michael Niedermayer2013-04-181-2/+2
| | | | | | | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | | colorchannelmixer filterPaul B Mahol2013-04-186-1/+429
| | | | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | | colorbalance filterPaul B Mahol2013-04-186-2/+257
| | | | | | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | | lavu: add av_clipd_cPaul B Mahol2013-04-182-1/+21
|/ / | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | evrcdec: use memmove() instead of memcpy() when regions can overlap.Michael Niedermayer2013-04-181-4/+4
| | | | | | | | | | | | | | This occurs also with valid files. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/gif: avoid encoding 0x0 images.Clément Bœsch2013-04-181-2/+2
| | | | | | | | It seems browsers don't like it very much.
* | lavf/gif: support only GIF codec.Clément Bœsch2013-04-181-3/+4
| |
* | lavf/gif: merge gif_write_{packet,video}.Clément Bœsch2013-04-181-9/+3
| | | | | | | | Avoid a pointless split.
* | lavf/gif: trim unnecessarily long netscape ext code.Clément Bœsch2013-04-181-39/+10
| | | | | | | | | | | | Extension description comments are now placed along the avio calls, the always defined macro removed, and the always true loop_count check as well (loop option is bound to 0-65535).
* | lavf/gif: remove unused fields.Clément Bœsch2013-04-181-5/+0
| |
* | lavf/gif: simplify streams type checking.Clément Bœsch2013-04-181-25/+13
| |
* | cmdutils: make the "-help filter=" output less confusingMichael Niedermayer2013-04-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Example: Filter overlay Overlay a video source on top of the input. Inputs: #0: main (video) #1: overlay (video) Outputs: #0: default (video) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Fix libswscale compilation with --disable-optimizations on x86-32.Carl Eugen Hoyos2013-04-181-0/+4
| | | | | | | | Fixes ticket #2477.
* | Merge remote-tracking branch 'cehoyos/master'Michael Niedermayer2013-04-181-1/+1
|\ \ | | | | | | | | | | | | | | | | | | * cehoyos/master: Fix pgc compilation with --disable-optimizations. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * | Fix pgc compilation with --disable-optimizations.Carl Eugen Hoyos2013-04-181-1/+1
| | | | | | | | | | | | -O1 disables dead code elimination on pgc, use -O instead.
* | | avcodec/bitstream: check codes in ff_init_vlc_sparse()Michael Niedermayer2013-04-181-0/+4
| | | | | | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | | avcodec/bitstream: Check bits in ff_init_vlc_sparse()Michael Niedermayer2013-04-181-0/+4
|/ / | | | | | | | | | | | | Fixes out of array reads Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | xan: Check for overlapping copiesMichael Niedermayer2013-04-181-0/+6
| | | | | | | | | | | | | | No valid samples i found use such copies Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | fate: hot fix for gif failure.Clément Bœsch2013-04-182-22/+26
| |
* | lavf/gif: fix assert in avio API after dfb3231.Clément Bœsch2013-04-181-1/+1
| |
* | gif: remove outdated comments.Clément Bœsch2013-04-182-28/+4
| |
* | lavc/gif: return more meaningful error code.Clément Bœsch2013-04-181-1/+1
| |
* | lavc/gif: merge two allocation checks.Clément Bœsch2013-04-181-4/+2
| |
* | lavf/gif: simplify palette writing.Clément Bœsch2013-04-181-5/+2
| |
* | gif: reindent after previous commits.Clément Bœsch2013-04-182-5/+4
| |
* | lavc/gif: crop image when possible.Clément Bœsch2013-04-181-9/+73
| | | | | | | | | | | | Increase compression when pictures are similar. -f lavfi testsrc=300: 61M -> 21M
* | Cleanse GIF muxer and encoder.Clément Bœsch2013-04-185-231/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit removes the badly duplicated code between the encoder and the muxer. That may sound surprising, but the encoder is now responsible from the encoding of the picture when muxing to a .gif file. It also does not require anymore a manual user intervention such as a -pix_fmt rgb24 to work properly. To summarize, output gif are now easier to generate, code is saner and simpler, and files are smaller (thanks to the lzw encoding which was unused so far with the default .gif output). We can certainly make things even better, but this is the first step. FATE is updated because of the output being produced by the encoder and not the muxer (no lzw in the muxer), and in the seek test only the size mismatches. Fixes Ticket #2262
* | lavfi/aspect: apply hot fix for NUM:DEN syntaxStefano Sabatini2013-04-171-1/+1
| |
* | lavfi/setdar: fix num/den swapping in log messageStefano Sabatini2013-04-171-1/+1
| |
* | lavfi/setsar: remove spurious #if FF_API_OLD_FILTER_OPTS around init fieldStefano Sabatini2013-04-171-4/+0
| |
* | avutil/intfloat_readwrite: include common.h for isinf()Michael Niedermayer2013-04-171-0/+1
| | | | | | | | | | | | | | | | Solution based on rational.c, which uses isinf() too This should fix compilation with msvc Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavfi/mptestsrc: remove unused size fieldStefano Sabatini2013-04-171-1/+0
| |
OpenPOWER on IntegriCloud