summaryrefslogtreecommitdiff
path: root/libavformat/isom.c
Commit message (Collapse)AuthorAge
* lavf/isom: Support Perian tag NELL for nellymoser.Carl Eugen Hoyos2016-04-23
| | | | Reported by forum user turas35.
* avformat: add AVFormatContext to ff_get_extradata()Paul B Mahol2016-04-14
| | | | | | Needed for av_log() inside that function. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-10
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * 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.
* | lavf/isom: Add more code points for H264.Carl Eugen Hoyos2016-02-04
| | | | | | | | | | Defined by the MP4 registration authority. Fixes ticket #5217.
* | isom: add support for DNxHR codec familyChristophe Gisquet2015-10-05
| | | | | | | | | | | | This is actually similar to DNxHD. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b'Hendrik Leppkes2015-09-07
|\| | | | | | | | | | | | | * commit 'c45fcf30cfab687004ed1cdc06ebaa21f4262a0b': DXV decoder Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * 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>
* | avformat/isom: Use AVRN codec to handle AVDJMichael Niedermayer2015-07-26
| | | | | | | | | | | | | | | | Fixes cropping Fixes Ticket4741 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/isom: utilize bitrate hintsGanesh Ajjanagadde2015-07-12
| | | | | | | | | | | | Fixes Ticket4546 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '7ca3e5203f133eb41a0b5c3a1d753a7427ba72e7'Michael Niedermayer2015-06-22
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '7ca3e5203f133eb41a0b5c3a1d753a7427ba72e7': Hap decoder and encoder Conflicts: Changelog configure doc/general.texi libavcodec/allcodecs.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Hap decoder and encoderVittorio Giovara2015-06-22
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'Michael Niedermayer2015-04-20
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1a3eb042c704dea190c644def5b32c9cee8832b8': Replace av_dlog with normal av_log at trace level Conflicts: ffplay.c libavdevice/fbdev_dec.c libavfilter/avfilter.c libavfilter/internal.h libavfilter/setpts.c libavfilter/src_movie.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_fieldorder.c libavformat/assdec.c libavformat/avidec.c libavformat/flvdec.c libavformat/http.c libavformat/ipmovie.c libavformat/isom.c libavformat/mov.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/mpegtsenc.c libavformat/mux.c libavformat/mxfdec.c libavformat/nsvdec.c libavformat/oggdec.c libavformat/r3d.c libavformat/rtspdec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '96dd04427fc46e5e25a5ac1f00753207e3aedb0c'Michael Niedermayer2015-03-17
|\| | | | | | | | | | | | | * commit '96dd04427fc46e5e25a5ac1f00753207e3aedb0c': isom: Add support for TSCC2 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | avformat/isom: add X-Com Radvision fourccPaul B Mahol2015-02-11
| | | | | | | | | | | | Fixes bug #4303. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Decode Prores 4444 XQ with the existing Prores decoder.Carl Eugen Hoyos2015-01-26
| | | | | | | | | | | | The frames are said to contain a higher bit-depth but users report that our decoder shows visually correct output. Requested by forum user gregba and Christoph Gerstbauer.
* | Merge commit '8e03ca2fff40ce065ea5a516200e777c96cd785e'Michael Niedermayer2015-01-07
|\| | | | | | | | | | | | | * commit '8e03ca2fff40ce065ea5a516200e777c96cd785e': isom: add 'mp1v' fourcc Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | avformat/movenc: add EAC3 muxing support.Benoit Fouet2014-10-10
| | | | | | | | | | | | | | | | | | Support only one independent substream right now, and only syncframes containing 6 blocks. Fixes part of ticket #3074 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Don't overwrite codec_id with 0 in ff_mp4_read_dec_config_descr().Carl Eugen Hoyos2014-05-21
| | | | | | | | Fixes ticket #3660.
* | Merge commit '121b5b7e0476d22408d748b914799b7c00acc3a4'Michael Niedermayer2014-04-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '121b5b7e0476d22408d748b914799b7c00acc3a4': isom: add some BOXX tags isom: add 'flic' tag isom: add 'm1v ' tag Conflicts: libavformat/isom.c See: ca8623e1a537fa48366efebdf235442f1197bb71 See: 8a3f976498cc096644b95ade7240a73e17d3a042 See: fca62f05005567514b5daaea230ba9365e202201 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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
| |
* | avformat/mov: call mov_rewrite_dvd_sub_extradata() after parsing dimensions ↵Michael Niedermayer2014-03-17
| | | | | | | | | | | | | | | | | | from tkhd This also moves mov_rewrite_dvd_sub_extradata() to mov.c Fixes: NeroRecodeSample.mp4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/isom: only write the size if its non zero in ↵Michael Niedermayer2014-03-17
| | | | | | | | | | | | | | | | mov_rewrite_dvd_sub_extradata() Fixes regression with NeroRecodeSample.mp4 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/isom: Simplify mov_rewrite_dvd_sub_extradata()Michael Niedermayer2014-03-17
| | | | | | | | | | | | This avoids the 2nd buffer and fixes the palette truncated check Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/isom: fix mix of declaration and statementMichael Niedermayer2014-03-16
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '8f629a986c46f227abda1811a6ad1f449871ca35'Michael Niedermayer2014-03-16
|\| | | | | | | | | | | | | * commit '8f629a986c46f227abda1811a6ad1f449871ca35': isom: convert mp4 dvdsub extradata to vobsub format Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '4f3db5d3418a24f3b90422e98ad75388052c4284'Michael Niedermayer2014-03-09
|\| | | | | | | | | | | | | * commit '4f3db5d3418a24f3b90422e98ad75388052c4284': movenc: allow muxing HEVC in MODE_MP4. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * movenc: allow muxing HEVC in MODE_MP4.Tim Walker2014-03-09
| |
* | Merge commit '1d9014f0b008485eac4c19d5f5e11ede59237167'Michael Niedermayer2014-03-09
|\| | | | | | | | | | | | | * commit '1d9014f0b008485eac4c19d5f5e11ede59237167': movenc: use 'hev1' tag for HEVC in MODE_MOV. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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.
* | Merge commit '8a0bc40545a216a49f43db5d9a42a63961333354'Michael Niedermayer2014-03-09
|\| | | | | | | | | | | | | | | | | | | | | * commit '8a0bc40545a216a49f43db5d9a42a63961333354': libspeex: support ZygoAudio (quality 10 mode) Conflicts: libavformat/isom.c See: e26b066cd8db361feba90e943c6cfdf062c52272 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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
| |