summaryrefslogtreecommitdiff
path: root/libavformat/electronicarts.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-26
| | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* electronicarts: set the framerate for TGQ/TQIAnton Khirnov2014-08-22
| | | | It is hardcoded to 15fps.
* electronicarts: read the framerate for MADAnton Khirnov2014-08-22
|
* electronicarts: do not fail on zero-sized chunksAnton Khirnov2014-08-22
| | | | | | | At least one FATE sample contains such chunks and happens to work simply by accident (due to find_stream_info() swallowing the error). CC: libav-stable@libav.org
* lavf: more correct printf format specifiersDiego Biurrun2014-03-11
|
* electronicarts: Add more sanity checking for the number of channelsMartin Storsjö2013-09-29
| | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* electronicarts: Check packet sizes before readingMartin Storsjö2013-09-22
| | | | | | Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* electronicarts: Let functions always returning the same value return voidDiego Biurrun2013-08-15
|
* electronicarts: Improve some function/variable namesDiego Biurrun2013-08-15
|
* electronicarts: comment wording fixesDiego Biurrun2013-08-15
|
* electronicarts: Remove bogus function documentationDiego Biurrun2013-08-15
|
* electronicarts: K&R formatting cosmeticsDiego Biurrun2013-08-15
|
* lavf: remove disabled FF_API_R_FRAME_RATE cruftAnton Khirnov2013-03-11
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* avformat: Drop pointless "format" from container long namesDiego Biurrun2012-07-30
|
* lavf: deprecate r_frame_rate.Anton Khirnov2012-07-29
| | | | | | | | | | | | | | | | | | | | According to its description, it is supposed to be the LCM of all the frame durations. The usability of such a thing is vanishingly small, especially since we cannot determine it with any amount of reliability. Therefore get rid of it after the next bump. Replace it with the average framerate where it makes sense. FATE results for the wtv and xmv demux tests change. In the wtv case this is caused by the file being corrupted (or possibly badly cut) and containing invalid timestamps. This results in lavf estimating the framerate wrong and making up wrong frame durations. In the xmv case the file contains pts jumps, so again the estimated framerate is far from anything sane and lavf again makes up different frame durations. In some other tests lavf starts making up frame durations from different frame.
* ea: check chunk_size for validity.Ronald S. Bultje2012-05-04
| | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind CC: libav-stable@libav.org
* ea: fix audio ptsJustin Ruggles2012-03-03
| | | | | | | The time base is 1 / sample_rate, not 90000. Several more codecs encode the sample count in the first 4 bytes of the chunk, so we set the durations accordingly. Also, we can set start_time and packet duration instead of keeping track of the sample count in the demuxer.
* electronicarts: set timebase for tgv video.Anton Khirnov2012-03-02
| | | | | | | | The container has no timestamps and the framerate isn't stored in the data either. The decoder sets codec timebase to experimentally found value 1/15. Do the same for the demuxer too, it should at least be better than the default 1/90000.
* electronicarts: parse the framerate for cmv video.Anton Khirnov2012-03-02
|
* electronicarts: don't set codec timebaseAnton Khirnov2012-03-02
| | | | | | Demuxers are not supposed to set it. Set stream timebase and framerates instead (this is a cfr container with no timestamps).
* lavf: remove AVFormatParameters from AVFormatContext.read_header signatureAnton Khirnov2012-01-27
|
* electronicarts: check bytes per sample for validityJanne Grunau2012-01-07
| | | | Prevents division by zero.
* lavf: make av_set_pts_info private.Anton Khirnov2011-11-30
| | | | It's supposed to be called only from (de)muxers.
* lavf,lavd: replace av_new_stream->avformat_new_stream part I.Anton Khirnov2011-10-19
| | | | | Trivial replacements with sed are done in this commit: sed 's/av_new_stream(\([^)]*\), 0)/avformat_new_stream(\1, NULL)/'
* lavf: use designated initialisers for all (de)muxers.Anton Khirnov2011-07-17
| | | | It's more readable and less prone to breakage.
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes senseAnton Khirnov2011-03-16
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: deprecate url_feofAnton Khirnov2011-03-07
| | | | | | AVIOContext.eof_reached should be used directly instead. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: add avio_tell macro as a replacement for url_ftellAnton Khirnov2011-03-04
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* lavf: replace all uses of url_fskip with avio_seekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefix for url_fseekAnton Khirnov2011-03-01
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: avio_ prefixes for get_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | | | In the name of consistency: get_byte -> avio_r8 get_<type> -> avio_r<type> get_buffer -> avio_read get_partial_buffer will be made private later get_strz is left out becase I want to change it later to return something useful. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | This also lists the objects from those two libraries as internal (by adding the ff_ prefix) so that they can then be hidden via linker scripts.
* electronicarts: prevent endless loop opportunity in ↵Peter Ross2011-01-11
| | | | | | | | process_audio_header_elements() Fixes issue2529. Originally committed as revision 26307 to svn://svn.ffmpeg.org/ffmpeg/trunk
* revert r26302Peter Ross2011-01-10
| | | | Originally committed as revision 26305 to svn://svn.ffmpeg.org/ffmpeg/trunk
* electronicarts: prevent endless loop opportunity in ↵Peter Ross2011-01-10
| | | | | | | | process_audio_header_elements() Fixes issue2529. Originally committed as revision 26302 to svn://svn.ffmpeg.org/ffmpeg/trunk
* electronicarts: only apply audio sanity checks when audio stream is presentPeter Ross2011-01-10
| | | | Originally committed as revision 26301 to svn://svn.ffmpeg.org/ffmpeg/trunk
* perform sanity check on sample rate in electronicarts demuxerDaniel Kang2011-01-10
| | | | | | | Fixes issue2525 Original patch by Daniel Kang, daniel.d.kang at gmail Originally committed as revision 26298 to svn://svn.ffmpeg.org/ffmpeg/trunk
* perform sanity check on number of channels in electronicarts demuxerDaniel Kang2011-01-10
| | | | | | | Fixes issue2514 Original patch by Daniel Kang, daniel.d.kang at gmail Originally committed as revision 26296 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add av_ prefix to bswap macrosMåns Rullgård2010-07-10
| | | | Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.Jean-Daniel Dupas2010-03-31
| | | | | | Patch by Jean-Daniel Dupas, devlists shadowlab org Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-30
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use enum CodecID where appropriate.Carl Eugen Hoyos2010-01-10
| | | | Originally committed as revision 21119 to svn://svn.ffmpeg.org/ffmpeg/trunk
* do not create Electronic Arts audio stream when unsupported revision2 audio ↵Peter Ross2010-01-10
| | | | | | codec is present [issue1516] Originally committed as revision 21116 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Slightly improve probe for ea format by checking that it is possible toReimar Döffinger2009-09-17
| | | | | | guess whether the file is little- or big-endian. Originally committed as revision 19896 to svn://svn.ffmpeg.org/ffmpeg/trunk