summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* mxfdec: Fix files with essence containers larger than 2 GiB.Tomas Härdin2012-01-26
| | | | | | For such files, accumulating into an int would cause an overflow. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mxfdec: Employ correct printf conversion specifiers for POSIX int types.Jean First2012-01-26
| | | | | Signed-off-by: Jean First <jeanfirst@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavf: prevent infinite loops while flushing in avformat_find_stream_infoJanne Grunau2012-01-26
| | | | | | | | | If no data was seen for a stream decoder are returning 0 when fed with empty packets for flushing. We can stop flushing when the decoder does not return delayed delayed frames anymore. Changes try_decode_frame() return value to got_picture or negative error. CC: libav-stable@libav.org
* matroskadec: Pad AAC extradata.Alex Converse2012-01-25
| | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* movenc: Don't require frame_size to be set for modes other than movMartin Storsjö2012-01-25
| | | | | | | | | The field frame_size isn't written to the output anywhere except than in mov. This facilitates stream copy from formats that don't set frame_size. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Reindent a blockMartin Storsjö2012-01-25
| | | | | | | Also add some space around operators and wrap a comment that extends past the 80 char "limit"/guideline. Signed-off-by: Martin Storsjö <martin@martin.st>
* Add a tool for creating smooth streaming manifestsMartin Storsjö2012-01-25
| | | | | | | | It can also optionally split the file into individual fragments, which allows it to be served from any web server without any server side support. Signed-off-by: Martin Storsjö <martin@martin.st>
* movdec: Calculate an average bit rate for fragmented streams, tooMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Write the sample rate instead of time scale in the stsd atomMartin Storsjö2012-01-25
| | | | | | | For ismv/isma, the time scale might not be the same as the sample rate. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a separate ismv/isma (smooth streaming) muxerMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Allow the caller to decide on fragmentationMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Add a flag for muxers that support write_packet(NULL) for flushingMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add support for writing fragmented mov filesMartin Storsjö2012-01-25
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a separate start_ptsMartin Storsjö2012-01-25
| | | | | | | | This fixes calculation of trackDuration if the MOVIentry array is cleared. This is required by the fragmentation support in the next patch. Signed-off-by: Martin Storsjö <martin@martin.st>
* aud: remove unneeded field, audio_stream_index from contextJustin Ruggles2012-01-24
| | | | | There is only one stream, so it will always be index 0. This also allows for removal of the private context.
* aud: fix time stamp calculation for ADPCM IMA WSJustin Ruggles2012-01-24
| | | | also allows for removing some unused context fields
* aud: simplify header parsingJustin Ruggles2012-01-24
| | | | also allows for removing some unused context fields
* aud: set pts_wrap_bits to 64.Justin Ruggles2012-01-24
| | | | Time stamps are not read from the bitstream, so no wrapping is needed.
* cosmetics: indentationJustin Ruggles2012-01-24
|
* aud: support Westwood SND1 audio in AUD files.Justin Ruggles2012-01-24
| | | | | | | Fixes decoding of the handful of "death scream" samples from "Command and Conquer" that use SND1. e.g. http://samples.libav.org/game-formats/westwood-aud/nuyell1.aud http://samples.libav.org/game-formats/westwood-aud/nuyell7.aud
* adpcm_ima_ws: fix stereo decodingJustin Ruggles2012-01-24
| | | | | Stereo ADPCM IMA WS is planar for VQA version 3 and 2-sample interleaved for VQA version 2.
* avcodec: add a new codec_id for CRYO APC IMA ADPCM.Justin Ruggles2012-01-24
| | | | | The stereo layout and extradata is significantly different from that in Westwood IMA ADPCM, so a separate codec_id is warranted.
* vqa: remove unused context fields, audio_samplerate and audio_bitsJustin Ruggles2012-01-24
|
* vqa: clean up audio header parsingJustin Ruggles2012-01-24
| | | | | Fix setting of bit_rate and bits_per_coded_sample. Ask for sample for unsupported VQA versions.
* vqa: set time base to frame rate as coded in the header.Justin Ruggles2012-01-24
| | | | | According to Multimedia Wiki documentation, the frame rate is not always 15, and the actual value can be found in the header.
* vqa: set packet duration.Justin Ruggles2012-01-24
| | | | Also remove unused context field, audio_frame_counter.
* vqa: use 1/sample_rate as the audio stream time baseJustin Ruggles2012-01-24
|
* vqa: set stream start_time to 0.Justin Ruggles2012-01-24
| | | | | The format has no coded timestamps and must use packet durations to generate them.
* lavf: postpone removing av_close_input_file().Anton Khirnov2012-01-24
| | | | It has been deprecated only recently.
* XWD encoder and decoderPaul B Mahol2012-01-23
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* mxfdec: fix memleak on mxf_read_close()Janne Grunau2012-01-23
|
* westwood: split the AUD and VQA demuxers into separate files.Justin Ruggles2012-01-23
| | | | They have no code in common.
* riff: fix invalid av_freep() calls on EOF in ff_read_riff_infoJanne Grunau2012-01-22
|
* mxfdec: fix memleak on av_realloc failuresJanne Grunau2012-01-22
|
* mxfdec: Do not parse slices or DeltaEntryArrays.Tomas Härdin2012-01-22
| | | | The most recent demuxing/seeking code does not need them.
* mxfdec: hybrid demuxing/seeking solutionJanne Grunau2012-01-22
| | | | | | | | | | | | | | | | | | This uses the old demuxing code for OP1a and separate demuxing code for OPAtom. Timestamp output is added to the old demuxing code. The seeking code is made to seek to the start of the desired EditUnit only, from which the normal demuxing code takes over (if OP1a). This means we do not use delta entries or slices, only StreamOffsets. OPAtom seeking basically works like before. This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other words, we allow seeking before the start or past the end for D-10 too. Based on several patches by Tomas Härdin <tomas.hardin@codemill.se> and Reimar Döffinger <Reimar.Doeffinger@gmx.de>. Changed av_calloc to av_mallocz, added overflow checks.
* mxfdec: Add Avid's essence element key.Tomas Härdin2012-01-22
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mfxdec: Separate mxf_essence_container_uls for audio and video.Carl Eugen Hoyos2012-01-22
| | | | | | | | | It is a really bad idea to assign a video codec id when we have set codec_type to audio and vice versa. Prevents detection of mp2 in mxf as mpeg2video. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Compute packet offsets properly.Tomas Härdin2012-01-22
| | | | | | This replaces the old essence_offset code. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Use MaterialPackage - Track - TrackID instead of the system_item hack.Tomas Härdin2012-01-22
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: use av_dlog() for 'no corresponding source package found'Tomas Härdin2012-01-22
| | | | | | This is not an error and expected behavior for OPAtom files. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Make mxf->partitions sorted by offset.Tomas Härdin2012-01-22
| | | | | | This also zeroes new entries for good measure (used by future patches). Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: parse ThisPartitionTomas Härdin2012-01-22
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Speed up metadata and index parsing.Tomas Härdin2012-01-22
| | | | | | | | | | | | | Specifically, this means parsing as before until we run into essence. At that point we seek to the footer and parse until EOF. After that we start seeking backward to the previous partition and parse that until we run into essence or the next partition. This procedure is repeated until we encounter the last partition we parsed in the forward direction. The end result of all this is that large essence containers are not needlessly parsed. This speeds up parsing large files a lot. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Make sure DataDefinition is consistent between material track and ↵Tomas Härdin2012-01-22
| | | | | | | | | source track. This fixes 0001GL.MXF.V1.mxf_opatom.mxf and 0001GL00.MXF.A1.mxf_opatom.mxf getting two streams each due to both using the same SourcePackageID. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxfTomas Härdin2012-01-22
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Add hack that adjusts the n_delta calculation when system items are ↵Tomas Härdin2012-01-22
| | | | | | present. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays.Janne Grunau2012-01-22
| | | | | | | Based on patch from Tomas Härdin <tomas.hardin@codemill.se> and work by Georg Lippitsch <georg.lippitsch@gmx.at> Changed av_calloc to av_mallocz and added overflow checks.
* mxfdec: Move FooterPartition to MXFContext and make sure it is never zero.Tomas Härdin2012-01-22
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: check return value of avio_seekJoakim Plate2012-01-22
| | | | | | Avoid modifying state if avio_seek fails. Signed-off-by: Janne Grunau <janne-libav@jannau.net>