aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
Commit message (Collapse)AuthorAgeFilesLines
* XWD encoder and decoderPaul B Mahol2012-01-231-1/+2
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* 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 <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-221-1/+4
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* 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 <janne-libav@jannau.net>
* mxfdec: Compute packet offsets properly.Tomas Härdin2012-01-221-16/+37
| | | | | | 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-221-13/+10
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* 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 <janne-libav@jannau.net>
* 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 <janne-libav@jannau.net>
* mxfdec: parse ThisPartitionTomas Härdin2012-01-221-2/+5
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* 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 <janne-libav@jannau.net>
* 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 <janne-libav@jannau.net>
* mxfdec: add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxfTomas Härdin2012-01-221-0/+1
| | | | 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-221-1/+8
| | | | | | present. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays.Janne Grunau2012-01-221-8/+318
| | | | | | | 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-221-3/+14
| | | | Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: check return value of avio_seekJoakim Plate2012-01-221-1/+4
| | | | | | Avoid modifying state if avio_seek fails. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: skip to end of structural setsPhilip de Nier2012-01-221-1/+4
| | | | | | | | This fixes reading of partition packs. The code stops reading after the operational pattern and should skip the array of essence container labels that follow. Signed-off-by: Janne Grunau <janne-libav@jannau.net>
* mxfdec: parse MXF partitionsTomas Härdin2012-01-221-1/+107
|
* rtsp: Use a random offset for trying to open UDP ports for RTPDmitry Volyntsev2012-01-221-2/+9
| | | | | | | | | | | | | | This avoids (for all practical cases) the issue of reusing the same UDP port as for an earlier connection. If the remote doesn't know the previous session was closed, he might keep on sending packets to that port. If we always start off trying to open the same UDP port, we might get those packets intermixed with the new ones. This is occasionally an issue when testing RTSP stuff with DSS, perhaps also with other servers. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Allow specifying the UDP port range via AVOptionsMartin Storsjö2012-01-222-2/+16
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Remove a leftover, currently pointless checkDmitry Volyntsev2012-01-221-10/+8
| | | | | | | | This check isn't relevant in the way the code currently works. Also change a case of if (x == 0) into if (!x). Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Use our own SSRC in the SDES field when sending RRsMartin Storsjö2012-01-211-1/+1
| | | | | | | | | | | | | | | The s->ssrc field is the sender's SSRC, we use ssrc + 1 to get a collision free "unique" SSRC for ourselves in the RR part. The SDES block in the RTCP packet should describe ourselves, not the sender. This was fixed for the RR part in 952139a3226b, but wasn't fixed for the SDES part until now. This could cause some Axis cameras to send RTCP BYE packets to us due to the SSRC collision. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: rename fer option and document resulting (f_)err_detect optionsDustin Brody2012-01-211-3/+8
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* movenc: Reorder entries in the MOVIentry struct, for tigheter packingMartin Storsjö2012-01-211-2/+2
| | | | | | | | | | | | | Originally, sizeof(struct MOVIentry) was 48, after the reordering, it is 40 in my build configuration. When writing really long mov/mp4 files, this can make a difference - this saves a bit over 2 MB of memory per hour of video (down to 10.3 MB per hour from 12.3 MB per hour initially) for a video with 75 packets per second - 25 fps + 50 audio packets (which is the case for AMR audio). Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Remove extern declarations for variables that don't existMartin Storsjö2012-01-211-3/+0
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* Add a tool that uses avio to read and write, doing a plain copy of dataMartin Storsjö2012-01-201-1/+1
| | | | | | | It also optionally can throttle its operation to a particular speed, to simulate realtime writing. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: force single-threaded decoding in avformat_find_stream_infoJanne Grunau2012-01-201-3/+20
| | | | | | | The H.264 decoder needs SPS and PPS for initialization during multi-threaded decoding. When probed single-threaded SPS and PPS are copied to extradata and are available for proper initialization of the decoder before the first frame is decoded.
* avidec: migrate last of lavf from FF_ER_* to AV_EF_*Dustin Brody2012-01-201-3/+4
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf: free packets for muxers implementing interleave_packet().Anton Khirnov2012-01-181-3/+6
| | | | Fixes a memleak.
* lavf: fix and extend av_interleaved_write_frame() doxy.Anton Khirnov2012-01-181-3/+12
| | | | Specify that lavf is responsible for freeing the data.
* mov: Remove dead stores for spherical coordinates for channel position.Alex Converse2012-01-181-4/+3
|
* add SMJPEG muxerPaul B Mahol2012-01-164-2/+152
| | | | Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* avformat: split out common SMJPEG codePaul B Mahol2012-01-164-154/+229
| | | | | | This is a preparation for adding SMJPEG muxer. Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
* mov, mxfdec: Employ more meaningful return values.Daniel Huang2012-01-152-86/+95
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* utils: Check for extradata size overflows.Alex Converse2012-01-121-1/+3
|
* avio: Fix the value of the deprecated URL_FLAG_NONBLOCKMartin Storsjö2012-01-121-1/+1
| | | | | | | | | | This isn't used in practice anywhere within libav at the moment, but change it for consistency until it is removed. URL_RDONLY/WRONLY were fixed in commit 5b81e295931 (after the values that actually were used were changed at the major bump, in commit cbea3ac8), but this flag was unintentionally left unfixed. Signed-off-by: Martin Storsjö <martin@martin.st>
* ffmenc: remove references to deprecated AVFormatContext.timestamp.Anton Khirnov2012-01-121-2/+2
|
* lavf: undeprecate read_seek().Anton Khirnov2012-01-122-7/+3
| | | | The "new seeking API" was never finished and nobody is working on it.
* riff: remove references to sonic codec idsAnton Khirnov2012-01-121-2/+0
| | | | They are deprecated and will be purged on next major bump.
* gsm demuxer: use generic seeking instead of a gsm-specific function.Justin Ruggles2012-01-111-34/+1
| | | | | Since packets all contain only a single block, the generic seek function can be used while still maintaining block-accuracy.
* gsm demuxer: return packets with only 1 gsm block at a time.Justin Ruggles2012-01-111-3/+2
| | | | | fixes stream copy of raw gsm to mov. tested with QuickTime.
* wtv: fix memleaks during normal operationJanne Grunau2012-01-111-0/+3
|
* ipmovie: fix pts for CODEC_ID_INTERPLAY_DPCMJustin Ruggles2012-01-101-1/+1
| | | | frame sample count calculation was incorrect
* sierravmd: fix audio ptsJustin Ruggles2012-01-101-1/+1
| | | | | The duration of the first packet was being calculated incorrectly, leading to an incorrect timestamp offset.
* movenc: Don't store a nonzero creation time if nothing was set by the callerMartin Storsjö2012-01-101-1/+2
| | | | | | | | | If the creation time is stored in the file as a zero, the mov demuxer skips exporting the creation time. Currently, files muxed without a creation time get demuxed with a Jan 1st 1970 creation timestamp. Signed-off-by: Martin Storsjö <martin@martin.st>