summaryrefslogtreecommitdiff
path: root/libavformat/isom.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.
* DXV decoderVittorio Giovara2015-09-02
| | | | Support all DXDI and DXD3 normal quality videos.
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Hap decoder and encoderVittorio Giovara2015-06-22
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-19
| | | | This applies to every library where performance is not critical.
* isom: Add X-Com Radvision FourCCPaul B Mahol2015-03-17
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* isom: Add support for TSCC2Luca Barbato2015-03-17
| | | | As produced by Camtasia 4.
* isom: Decode Prores 4444 XQ with the existing Prores decoderCarl Eugen Hoyos2015-02-03
| | | | | | | The frames seem to contain a higher bitrate which our decoder is able to handle. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* isom: add 'mp1v' fourccJustin Ruggles2015-01-06
| | | | | | As referenced in the CoreMedia API docs. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* Silicon Graphics RLE 8-bit video decoderPeter Ross2014-04-19
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* isom: add some BOXX tagsPiotr Bandurski2014-04-04
|
* isom: add 'flic' tagReimar Döffinger2014-04-04
|
* isom: add 'm1v ' tagCarl Eugen Hoyos2014-04-04
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* OpenEXR decoderJimmy Christensen2014-04-01
| | | | | | | Additional fixes and enhancements by Vittorio Giovara, Gonzalo Garramuno, Nicolas George, Paul B Mahol and Michael Niedermayer. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mov: call mov_rewrite_dvd_sub_extradata() after parsing dimensions from tkhdMichael Niedermayer2014-03-31
| | | | | | This also moves mov_rewrite_dvd_sub_extradata() to mov.c. Sample-Id: NeroRecodeSample.mp4
* isom: only write the size if its non zero in mov_rewrite_dvd_sub_extradata()Michael Niedermayer2014-03-31
| | | | Sample-Id: NeroRecodeSample.mp4
* isom: Simplify mov_rewrite_dvd_sub_extradata()Michael Niedermayer2014-03-31
| | | | This avoids the 2nd buffer and fixes the palette truncated check
* isom: fix C99-style declarationMichael Niedermayer2014-03-16
|
* isom: convert mp4 dvdsub extradata to vobsub formatwm42014-03-15
| | | | | | | | | | | | mp4 files embedding DVD subtitles do not use the same extradata format as the rest of Libav expects. The subtitle decoder in libavcodec in particular does not understand this format. Convert the extradata to the vobsub .idx format. mp4 stores the palette as binary 32 bit ints in YUV. The subtitle resolution is stored separately in the track header, which we access through AVStream. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* movenc: allow muxing HEVC in MODE_MP4.Tim Walker2014-03-09
|
* movenc: use 'hev1' tag for HEVC in MODE_MOV.Tim Walker2014-03-09
| | | | | | | | | | | | | | 'hvc1' requires that parameter set NAL units be present only in the samples entry, but not in the samples themselves, requiring that additional parameter sets, if present, be filtered out of the samples and placed in new, additional sample entries if they override or otherwise conflict with the parameter sets present in the first sample entry. We do not have any way of doing this at present, so the files we produce can only comply with the restrictions set for the 'hev1' sample entry name in ISO/IEC 14496-15.
* movdec: handle 0x7fff langcode as macintosh per the specsBaptiste Coudurier2014-03-09
| | | | | | The correct point that seperates ISO and MAC language codes is 0x400 according to the current QT spec. Old QT specs did not list where this seperation is but apparently only defined the meaning of the first 137.
* libspeex: support ZygoAudio (quality 10 mode)Piotr Bandurski2014-03-09
|
* isom: lpcm in mov default to big endianMark Himsley2014-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | It is my understanding that "Unless otherwise stated, all data in a QuickTime movie is stored in big-endian byte ordering" [1] in MOV files. I have a couple of thousand files, which technically are invalid because their sound sample description element 4CC is 'lpcm' but its version is 0 - and "Version 0 supports only uncompressed audio in raw ('raw ') or twos-complement ('twos') format" [2] Because isom.c only contains a mapping for 4CC 'lpcm' to AV_CODEC_ID_PCM_S16LE, these files have their audio decoded as LE when it is actually BE. This commit adds AV_CODEC_ID_PCM_S16BE as the first match for 4CC 'lpcm'. [1] https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf page 21 [2] https://developer.apple.com/library/mac/documentation/quicktime/QTFF/qtff.pdf page 178 Reviewed-by: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
* isom: add "MNG" FourCCPiotr Bandurski2014-03-09
|
* isom: Support MPEG-2 video mov files from FPC5Carl Eugen Hoyos2014-03-09
|
* isom: add "NO16" FourCCPiotr Bandurski2014-03-09
|
* isom: add Radius DV YUV FourCCsPiotr Bandurski2014-03-09
|
* isom: Support Sony XAVC in movCarl Eugen Hoyos2014-03-09
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* isom: add xd51 hdcamBen Littler2014-03-09
| | | | Someone needs to binary search FCP for new isom...
* lavf: improve support for AVC-Intra files.Reimar Döffinger2013-11-14
| | | | | | | | Generate extradata with SPS/PPS based on container dimensions. Authors of this commit are: Reimar and Thomas Mundt Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mov: Support HEVC demuxingYusuke Nakamura2013-10-31
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Apple Intermediate Codec decoderKostya Shishkov2013-05-17
|
* Remove commented-out debug #define cruftDiego Biurrun2013-05-16
|
* mov: handle h263 and flv1 for codec_tag 'H','2','6','3'Janne Grunau2012-12-19
| | | | | | | | | | The sample in https://bugzilla.libav.org/show_bug.cgi?id=393 and samples/F4V/H263_NM_f.mp4 both have codec_tag H263 for different codecs. H263 is apparently used by Flash Media Server for Sorensen Spark videos. Patch based on commit 5442083b1c541dd166b3adf39131259fc846a62b by Carl Eugen Hoyos. Fixes bug 393.
* lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.hJustin Ruggles2012-11-28
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* mov: Support muxing/demuxing iLBCMartin Storsjö2012-06-18
| | | | | | | The packet size, signalled via block_align, has to be passed via the container. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: support eac3 audioHendrik Leppkes2012-04-25
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* isom: Support more DTS codec identifiers.Yusuke Nakamura2012-04-23
| | | | | | DTS LBR identifier ('dtse') is not included since libavcodec doesn't support it yet. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* mov: Add more HDV and XDCAM FourCCs.Alex Converse2012-02-22
| | | | Reference: VLC
* mov: Add support for MPEG2 HDV 720p24 (hdv4)Alex Converse2012-02-21
|
* libavformat: Add an ff_ prefix to some lavf internal symbolsMartin Storsjö2012-02-15
| | | | | | | | | | Prefix the functions/tables brktimegm, pcm_read_seek, dv_offset_reset, voc_get_packet, codec_movaudio_tags, codec_movvideo_tags. After this, lavf has no global symbols without the proper prefix. Signed-off-by: Martin Storsjö <martin@martin.st>
* v410 encoder and decoderDerek Buitenhuis2011-12-13
| | | | | | | | v410 is a packed 10-bit 4:4:4 YCbCr format used in QuickTime. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* isom: sort and pretty-print codec_movaudio_tags[]Justin Ruggles2011-12-09
| | | | | original order is retained within the same tag or codec id to maintain the muxing/demuxing priority.
* isom: remove pointless comments in codec_movaudio_tags[]Justin Ruggles2011-12-09
|
* isom: remove commented-out tag for vorbisJustin Ruggles2011-12-09
|
* latmdec: fix audio specific config parsingJanne Grunau2011-12-03
| | | | | | | | | Pass the correct size in bits to mpeg4audio_get_config and add a flag to disable parsing of the sync extension when the size is not known. Latm with AudioMuxVersion 0 does not specify the size of the audio specific config. Data after the audio specific config can be misinterpreted as sync extension resulting in random and wrong configs.
* isom: Add MPEG4SYSTEMS dummy object type indication.Alex Converse2011-10-28
|