summaryrefslogtreecommitdiffstats
path: root/libavformat
Commit message (Collapse)AuthorAgeFilesLines
* mxfdec: Fix files with essence containers larger than 2 GiB.Tomas Härdin2012-01-261-1/+1
| | | | | | For such files, accumulating into an int would cause an overflow. Signed-off-by: Diego Biurrun <[email protected]>
* mxfdec: Employ correct printf conversion specifiers for POSIX int types.Jean First2012-01-261-5/+10
| | | | | Signed-off-by: Jean First <[email protected]> Signed-off-by: Diego Biurrun <[email protected]>
* lavf: prevent infinite loops while flushing in avformat_find_stream_infoJanne Grunau2012-01-261-8/+14
| | | | | | | | | 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: [email protected]
* matroskadec: Pad AAC extradata.Alex Converse2012-01-251-1/+1
| | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: [email protected]
* movenc: Don't require frame_size to be set for modes other than movMartin Storsjö2012-01-251-1/+1
| | | | | | | | | 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ö <[email protected]>
* movenc: Reindent a blockMartin Storsjö2012-01-251-13/+15
| | | | | | | Also add some space around operators and wrap a comment that extends past the 80 char "limit"/guideline. Signed-off-by: Martin Storsjö <[email protected]>
* Add a tool for creating smooth streaming manifestsMartin Storsjö2012-01-251-1/+1
| | | | | | | | 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ö <[email protected]>
* movdec: Calculate an average bit rate for fragmented streams, tooMartin Storsjö2012-01-252-1/+15
| | | | Signed-off-by: Martin Storsjö <[email protected]>
* movenc: Write the sample rate instead of time scale in the stsd atomMartin Storsjö2012-01-251-2/+2
| | | | | | | For ismv/isma, the time scale might not be the same as the sample rate. Signed-off-by: Martin Storsjö <[email protected]>
* movenc: Add a separate ismv/isma (smooth streaming) muxerMartin Storsjö2012-01-254-5/+141
| | | | Signed-off-by: Martin Storsjö <[email protected]>
* movenc: Allow the caller to decide on fragmentationMartin Storsjö2012-01-252-8/+21
| | | | Signed-off-by: Martin Storsjö <[email protected]>
* libavformat: Add a flag for muxers that support write_packet(NULL) for flushingMartin Storsjö2012-01-253-5/+25
| | | | Signed-off-by: Martin Storsjö <[email protected]>
* movenc: Add support for writing fragmented mov filesMartin Storsjö2012-01-253-11/+425
| | | | Signed-off-by: Martin Storsjö <[email protected]>
* movenc: Add a separate start_ptsMartin Storsjö2012-01-252-2/+6
| | | | | | | | 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ö <[email protected]>
* aud: remove unneeded field, audio_stream_index from contextJustin Ruggles2012-01-241-10/+1
| | | | | 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-241-9/+1
| | | | also allows for removing some unused context fields
* aud: simplify header parsingJustin Ruggles2012-01-241-22/+27
| | | | also allows for removing some unused context fields
* aud: set pts_wrap_bits to 64.Justin Ruggles2012-01-241-1/+1
| | | | Time stamps are not read from the bitstream, so no wrapping is needed.
* cosmetics: indentationJustin Ruggles2012-01-241-8/+8
|
* aud: support Westwood SND1 audio in AUD files.Justin Ruggles2012-01-241-6/+26
| | | | | | | 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-241-0/+6
| | | | | 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-242-2/+2
| | | | | 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-241-4/+0
|
* vqa: clean up audio header parsingJustin Ruggles2012-01-241-17/+30
| | | | | 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-241-2/+7
| | | | | 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-241-5/+3
| | | | Also remove unused context field, audio_frame_counter.
* vqa: use 1/sample_rate as the audio stream time baseJustin Ruggles2012-01-241-1/+2
|
* vqa: set stream start_time to 0.Justin Ruggles2012-01-241-0/+2
| | | | | The format has no coded timestamps and must use packet durations to generate them.
* lavf: postpone removing av_close_input_file().Anton Khirnov2012-01-241-1/+1
| | | | It has been deprecated only recently.
* XWD encoder and decoderPaul B Mahol2012-01-231-1/+2
| | | | Signed-off-by: Kostya Shishkov <[email protected]>
* mxfdec: fix memleak on mxf_read_close()Janne Grunau2012-01-231-0/+1
|
* westwood: split the AUD and VQA demuxers into separate files.Justin Ruggles2012-01-233-147/+177
| | | | They have no code in common.
* riff: fix invalid av_freep() calls on EOF in ff_read_riff_infoJanne Grunau2012-01-221-2/+1
|
* mxfdec: fix memleak on av_realloc failuresJanne Grunau2012-01-221-5/+8
|
* mxfdec: Do not parse slices or DeltaEntryArrays.Tomas Härdin2012-01-221-76/+10
| | | | The most recent demuxing/seeking code does not need them.
* mxfdec: hybrid demuxing/seeking solutionJanne Grunau2012-01-221-143/+454
| | | | | | | | | | | | | | | | | | 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 <[email protected]> and Reimar Döffinger <[email protected]>. Changed av_calloc to av_mallocz, added overflow checks.
* mxfdec: Add Avid's essence element key.Tomas Härdin2012-01-221-1/+4
| | | | Signed-off-by: Janne Grunau <[email protected]>
* mfxdec: Separate mxf_essence_container_uls for audio and video.Carl Eugen Hoyos2012-01-221-3/+6
| | | | | | | | | 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 <[email protected]>
* mxfdec: Compute packet offsets properly.Tomas Härdin2012-01-221-16/+37
| | | | | | This replaces the old essence_offset code. Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: Use MaterialPackage - Track - TrackID instead of the system_item hack.Tomas Härdin2012-01-221-13/+10
| | | | Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: use av_dlog() for 'no corresponding source package found'Tomas Härdin2012-01-221-32/+143
| | | | | | This is not an error and expected behavior for OPAtom files. Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: Make mxf->partitions sorted by offset.Tomas Härdin2012-01-221-1/+15
| | | | | | This also zeroes new entries for good measure (used by future patches). Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: parse ThisPartitionTomas Härdin2012-01-221-2/+5
| | | | Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: Speed up metadata and index parsing.Tomas Härdin2012-01-221-10/+119
| | | | | | | | | | | | | 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 <[email protected]>
* mxfdec: Make sure DataDefinition is consistent between material track and ↵Tomas Härdin2012-01-221-5/+12
| | | | | | | | | 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 <[email protected]>
* mxfdec: add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxfTomas Härdin2012-01-221-0/+1
| | | | Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: Add hack that adjusts the n_delta calculation when system items are ↵Tomas Härdin2012-01-221-1/+8
| | | | | | present. Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays.Janne Grunau2012-01-221-8/+318
| | | | | | | Based on patch from Tomas Härdin <[email protected]> and work by Georg Lippitsch <[email protected]> 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-221-3/+14
| | | | Signed-off-by: Janne Grunau <[email protected]>
* mxfdec: check return value of avio_seekJoakim Plate2012-01-221-1/+4
| | | | | | Avoid modifying state if avio_seek fails. Signed-off-by: Janne Grunau <[email protected]>