summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* Merge commit 'a0d5ca4f0a8e2c34d784d503a12af6303424ac6a'Michael Niedermayer2013-04-22
|\ | | | | | | | | | | | | | | * commit 'a0d5ca4f0a8e2c34d784d503a12af6303424ac6a': mxfenc: Use correct printf format specifier for int64_t h264: Drop unused variable Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mxfenc: Use correct printf format specifier for int64_tDiego Biurrun2013-04-22
| | | | | | | | libavformat/mxfenc.c:1861:9: warning: format '%lld' expects argument of type 'long long int', but argument 5 has type 'int64_t' [-Wformat]
* | Merge commit 'b845f5e97b655de0a191f736594777fec9754cf5'Michael Niedermayer2013-04-22
|\| | | | | | | | | | | | | | | | | | | * commit 'b845f5e97b655de0a191f736594777fec9754cf5': riff: Factor out WAVEFORMATEX parsing Conflicts: libavformat/riff.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * riff: Factor out WAVEFORMATEX parsingLuca Barbato2013-04-21
| | | | | | | | | | | | Makes the code simpler to follow. Signed-off-by: Diego Biurrun <diego@biurrun.de>
| * riff: Add ACTRAC3+ guidPeter Ross2013-04-21
| | | | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'a3bf80a5aea577663354bd538e345b283bcb73de'Michael Niedermayer2013-04-22
|\| | | | | | | | | | | | | | | | | | | * commit 'a3bf80a5aea577663354bd538e345b283bcb73de': riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guid Conflicts: libavformat/riff.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * riff: Perform full lookup on WAVEFORMATEXTENSIBLE subformat guidPeter Ross2013-04-21
| | | | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit 'e544782623caf1eb4b2429e9c4f35d6b627accba'Michael Niedermayer2013-04-22
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'e544782623caf1eb4b2429e9c4f35d6b627accba': riff: Move guid structs and helper functions into riff Conflicts: libavformat/asf.h libavformat/riff.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * riff: Move guid structs and helper functions into riffPeter Ross2013-04-21
| | | | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '8e329dba378cef0ff6400c7df9c51da167d5a1f0'Michael Niedermayer2013-04-22
|\| | | | | | | | | | | | | * commit '8e329dba378cef0ff6400c7df9c51da167d5a1f0': riff: check for eof if chunk size and code are 0 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * riff: check for eof if chunk size and code are 0Luca Barbato2013-04-21
| | | | | | | | | | | | | | | | | | | | Prevent an infinite loop. Inspired by a patch from Michael Niedermayer CC: libav-stable@libav.org Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Merge commit '1c88617b9421c9af8ae961c05d2381b19c585026'Michael Niedermayer2013-04-22
|\| | | | | | | | | | | | | | | | | | | * commit '1c88617b9421c9af8ae961c05d2381b19c585026': riff: K&R formatting cosmetics Conflicts: libavformat/riff.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * riff: K&R formatting cosmeticsLuca Barbato2013-04-21
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | mxf_timestamp_to_str: dont leave uninitilaized fields in time.Michael Niedermayer2013-04-21
| | | | | | | | | | Fixes CID1005318 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/gif: add final_delay option.Clément Bœsch2013-04-20
| |
* | lavf/gifdec: add loop support.Clément Bœsch2013-04-20
| | | | | | | | Loop is ignored by default.
* | Merge commit '505642f18276aed03278ac91b1f334ea888eac6a'Michael Niedermayer2013-04-19
|\| | | | | | | | | | | | | | | | | | | * commit '505642f18276aed03278ac91b1f334ea888eac6a': mp3dec: fallback to generic seeking when a TOC is not present Conflicts: libavformat/mp3dec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mp3dec: fallback to generic seeking when a TOC is not presentMichael Niedermayer2013-04-19
| | | | | | | | | | | | | | Fixes seeking without a Xing/Info header. CC: libav-stable@libav.org Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | avformat: change seeking index consistency asserts to av_assertsMichael Niedermayer2013-04-19
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/http: remove duplicated dec flag.Clément Bœsch2013-04-19
| |
* | lavf/gif: avoid forward declaration.Clément Bœsch2013-04-19
| |
* | lavf/gif: correct the delay after the first frame.Clément Bœsch2013-04-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | lavf/gif: fix timing.Clément Bœsch2013-04-19
| | | | | | | | | | 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-19
| | | | | | | | | | | | | | | | | | | | 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.
* | mxfdec: fix return variable type for avio_seekMarton Balint2013-04-19
| | | | | | | | | | Signed-off-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat: Dont stop probing before the whole id3 tag is readMichael Niedermayer2013-04-18
| | | | | | | | | | | | | | | | 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>
* | subtitles: introduce ASS codec id and use it.Clément Bœsch2013-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | lavf/gif: support only GIF codec.Clément Bœsch2013-04-18
| |
* | lavf/gif: merge gif_write_{packet,video}.Clément Bœsch2013-04-18
| | | | | | | | Avoid a pointless split.
* | lavf/gif: trim unnecessarily long netscape ext code.Clément Bœsch2013-04-18
| | | | | | | | | | | | 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-18
| |
* | lavf/gif: simplify streams type checking.Clément Bœsch2013-04-18
| |
* | lavf/gif: fix assert in avio API after dfb3231.Clément Bœsch2013-04-18
| |
* | gif: remove outdated comments.Clément Bœsch2013-04-18
| |
* | lavf/gif: simplify palette writing.Clément Bœsch2013-04-18
| |
* | gif: reindent after previous commits.Clément Bœsch2013-04-18
| |
* | Cleanse GIF muxer and encoder.Clément Bœsch2013-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | rmdec: dont return uninitialized dataMichael Niedermayer2013-04-17
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Remove two anonymous arrays.Carl Eugen Hoyos2013-04-17
| | | | | | | | Fixes compilation of pngenc.c and flvdec.c with PGC 13.4-0.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-04-16
|\| | | | | | | | | | | | | | | * qatar/master: cmdutils: Fix build with lavfi disabled flvenc: do not mux more than one stream per type Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * flvenc: do not mux more than one stream per typeRafaël Carré2013-04-16
| | | | | | | | | | | | FLV does not support multiple audio or video streams. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | dfa: support decoding version=1.0Michael Niedermayer2013-04-15
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/libquvi: fix error reporting.Clément Bœsch2013-04-15
| |
* | lavf: remove some flushing in write_packet muxers callbacks.Clément Bœsch2013-04-14
| | | | | | | | | | Since 4f112a8e3, this is not necessary anymore. Also, it allows to actually disable the flushing.
* | oggenc: Fix pref_duration AVOption typeMichael Niedermayer2013-04-13
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mxfdec: validate month/day before date formattingHendrik Leppkes2013-04-13
| | | | | | | | | | | | | | | | Some implementations of strftime do not like invalid values for month/day, so ensure it doesn't happen. Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mxf: fix parsing of timestampsMatthieu Bouron2013-04-13
| | | | | | | | | | | | | | | | | | | | | | Correct bit mask for month/day/hour/min/sec values. For reference the timestamp format specified in S377M is as follow: year (int16), month (uint8), day (uint8), hour (uint8), sec (uint8), msec (uint8). A value of 0 for every fields means timestamp "unknown". Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mxfdec: use more widely supported time format stringHendrik Leppkes2013-04-13
| | | | | | | | | | | | | | | | MSVC lacks support for %T and %F, but the standard specifies them only as shorthands to the long variants. Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/mxf: fix parsing of the month from mxf timestampsHendrik Leppkes2013-04-13
| | | | | | | | | | Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795'Michael Niedermayer2013-04-11
|\| | | | | | | | | | | | | | | | | | | | | * commit '9e6b5e61a0c91e25e298d0a21b189c4c95443795': img2enc: add an option for overwriting one file with subsequent images Conflicts: doc/muxers.texi libavformat/img2enc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>