summaryrefslogtreecommitdiff
path: root/libavformat/isom.c
Commit message (Collapse)AuthorAgeFilesLines
* avformat/movenc: Remove experimental status of flac-in-MP4 muxingMartijn van Beurden2022-08-081-1/+0
| | | | | | | | | | | | | The fLaC and dfLa box IDs have been registered with the MP4 RA (they are now listed at https://mp4ra.org/#/codecs) and support for muxing FLAC in MP4 has been experimental in ffmpeg for 6 years now, since Nov 21, 2016 This patch removes the experimental status and removes the MP4 object type, as none has been registered for FLAC as it was not deemed necessary. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* libavformat/isom: Add more language mappingsIvan Baykalov2022-06-071-5/+5
| | | | | | | | | mov_mdhd_language_map table doesn't contain ISO 639 codes for some of the languages. I added a few which have no contradictory mappings Fixes ticket #9743 Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat/utils: Move ff_get_extradata to demux_utils.cAndreas Rheinhardt2022-05-101-2/+1
| | | | | | | | It is only used by demuxers (although it is hypothetically possible that some day e.g. a protocol might need it, but that is unlikely given that they don't deal with AVCodecParameters). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* mov: convert to new channel layout APIVittorio Giovara2022-03-151-2/+3
| | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mpegaudiodata: Unavpriv mpa_bitrate and mpa_frequency tabsAndreas Rheinhardt2022-01-041-1/+1
| | | | | | | | | | | These arrays have a size of 180 resp. six bytes. This does not make it worthwhile to export them due to the overhead this occurs; for x64 Elf/Linux/GNU: 2x2B version, 2x24B .dynsym, 24B .rela.dyn, 8B .got, 4B hash + twice the size of the name (here 20+23B). Therefore these symbols are unavprived and duplicated for shared builds. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat/{isom,mov,movenc}: add support for CMAF DASH rolesJan Ekström2021-10-041-0/+19
| | | | | | | | | | | | | | | | This information is coded in a standard MP4 KindBox and utilizes the scheme and values as per the DASH role scheme defined in MPEG-DASH. Other schemes are technically allowed, but where multiple schemes define the same concepts, the DASH scheme should be utilized. Such flagging is additionally utilized by the DASH-IF CMAF ingest specification, enabling an encoder to inform the following component of the roles of the incoming media streams. A test is added for this functionality in a similar manner to the matroska test. Signed-off-by: Jan Ekström <jan.ekstrom@24i.com>
* avcodec/avcodec: Stop including channel_layout.h in avcodec.hAndreas Rheinhardt2021-07-221-0/+1
| | | | | | Also include channel_layout.h directly wherever used. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: remove deprecated AVStream.codecJames Almer2021-04-271-11/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: Remove outcommented functionAndreas Rheinhardt2021-02-231-39/+0
| | | | | | There is another ff_mov_read_chan in mov_chan.c. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/isom: Split movaudio/movvideo tags off into a separate fileAndreas Rheinhardt2021-02-231-319/+0
| | | | | | | | | The NUT and avi demuxers only need ff_codec_movvideo_tags and so this removes a dependency on the rest of isom.c as well as on mpeg4audio.c (which isom depends on); it is similar for the Matroska demuxer and muxers, except that the mpeg4audio.c dependency can't be avoided. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/isom: add support for RAW ASC Bayer BGGR in movPaul B Mahol2020-10-121-0/+2
|
* avcodec/magicyuv: add support for recently added new formatPaul B Mahol2020-09-221-0/+1
|
* avformat/isom: add comment to mov_mdhd_language_mapZhao Zhili2020-07-011-19/+139
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: add NotchLC decoderPaul B Mahol2020-05-191-0/+2
|
* avcodec: add cdtoons decoderAlyssa Milburn2020-02-151-0/+1
| | | | | | | This adds a decoder for Broderbund's sprite-based QuickTime CDToons codec, based on the decoder I wrote for ScummVM. Signed-off-by: Alyssa Milburn <amilburn@zall.org>
* lavf/isom: support for demuxing and remuxing of MPEG-H 3D Audio in MP4Yuki Tsuchiya2019-12-121-0/+1
| | | | | | | | | Implemented according to the specification at https://www.iso.org/standard/69561.html The 'mhm1' sample entry is registered with MP4RA, which is defined as MHAS encapsulated single stream MPEG-H 3D Audio. 'MHAS' stands for MPEG-H audio stream, which contains encoded audio data and corresponds metadata for decoding. This patch enables extracting the MHAS bitstream from MP4 and remuxing into MP4. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat: use avpriv_mpeg4audio_get_config2()James Almer2019-09-271-2/+2
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: add demuxing support for Dolby TrueHD streamsJames Almer2019-08-241-0/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/magicyuv: add support for recently added YUV444P10Paul B Mahol2019-07-111-0/+1
|
* lavf/isom: Allow reading mp3-in-isom as written by vlc.Carl Eugen Hoyos2019-05-121-0/+1
| | | | Reported-by: IRC user aiena
* lavf/mov: skip extradata check in esds for MPEG-1/2 audioGyan Doshi2019-04-011-0/+4
| | | | | | As per 14496-3 9.D.2.2, it's not defined for these audio object types. Fixes #7817.
* lavf/isom: add Dolby Vision sample entry codes for HEVC and H.264Rodger Combs2018-12-171-0/+4
| | | | | | | | | | | | | | | These are registered identifiers at the MPEG-4 RA, which are defined as to be utilized for Dolby Vision AVC/HEVC streams that are not correctly presentable by standards-compliant AVC/HEVC players. According to the Dolby Vision specification for ISOBMFF, these sample entry codes are specified to have the standard AVC or HEVC decoder configuration box in addition to the Dolby custom DOVIConfigurationBox. This is what enables us to decode the streams without custom parsing. For correct presentation information from the DOVIConfigurationBox is required (YCbCr or modified ICtCP, SDR or HDR, base or enhancement layer).
* lavf/mov: add AVCodecTag entry for GoPro metadataJohn Stebbins2018-09-081-0/+5
| | | | | | This allows for validation of the track type Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: add support for AV1 streamsJames Almer2018-07-201-0/+1
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: don't free extradata before calling ff_get_extradata()James Almer2018-03-061-1/+0
| | | | | | | | | | | ff_get_extradata() frees any existing extradata before allocating now, and using av_free() here leaves a dangling pointer that will result in a double free. Fixes a regression since 0ca33b1d4eb2a2a2e78ff3a37f1647917635b0d2. Tested-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: add VP8 codec supportJames Almer2018-02-061-0/+1
| | | | | | | | | | | | | Demuxing only. Muxing is disabled as altref frame handling is not defined in the spec, and there's no way to know the presence of such frames during stream initialization. Based on a patch by Steven Liu. Fixes ticket #7000 Reviewed-by: Carl Eugen Hoyos <ceffmpeg@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: return proper error values in ff_mp4_read_dec_config_descrJames Almer2017-11-251-1/+1
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* libavformat : add mov dataformat tag for HapAlphaOnly and HapQAlphaMartin Vignali2017-09-241-0/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/magicyuv: add 12 bit formatsPaul B Mahol2017-07-101-0/+2
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Update mp4 object type for VP9KongQun Yang2017-06-281-1/+1
| | | | | | Updated to the standard value 0xB1 defined in mp4ra.org. Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/isom: Remove codec point for WMAv2 that has never worked.Carl Eugen Hoyos2017-04-121-1/+0
|
* avformat/movenc: Add experimental muxing support for Opus in ISO BMFF (MP4).Matthew Gregan2017-04-111-0/+2
| | | | | | | | | Based on the draft spec at http://vfrmaniac.fushizen.eu/contents/opus_in_isobmff.html '-strict -2' is required to create files in this format. Signed-off-by: Matthew Gregan <kinetik@flim.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/isom: Support DTS Express in mov.Carl Eugen Hoyos2017-02-031-0/+1
| | | | Fixes ticket #6124.
* isom: map xalg and avlg to h264, fixes ticket #6099compn2017-01-241-0/+2
|
* avcodec: add Apple Pixlet decoderPaul B Mahol2016-12-221-0/+2
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/magicyuv: add 10 bit supportPaul B Mahol2016-12-201-0/+4
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavf/isom: Support EVRC in pvAuthor files.Carl Eugen Hoyos2016-12-121-0/+1
| | | | Fixes ticket #6014.
* Add experimental muxing support for FLAC in ISO BMFF (MP4).Matthew Gregan2016-11-211-0/+2
| | | | | | | | | Based on the draft spec at https://git.xiph.org/?p=flac.git;a=blob;f=doc/isoflac.txt '-strict experimental' is required to create files in this format. Signed-off-by: Matthew Gregan <kinetik@flim.org> Signed-off-by: James Almer <jamrial@gmail.com>
* mpeg4audio: validate sample_rateAndreas Cadhalpun2016-11-071-2/+4
| | | | | | | | | | A negative sample rate doesn't make sense and triggers assertions in av_rescale_rnd. Also check for errors from avpriv_mpeg4audio_get_config in ff_mp4_read_dec_config_descr. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* avformat/isom: Fix old API regression with exporting max bitrateMichael Niedermayer2016-10-261-3/+8
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/raw: Support QT b64a ARGB64 rawvideo.Carl Eugen Hoyos2016-08-131-0/+1
| | | | | Decoder based on a patch by v0lt, v0lt rambler ru Fixes ticket #5657.
* Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-211-49/+49
|\ | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-041-46/+46
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Add experimental support for vp9 in iso-bmffKongqun Yang2016-06-171-0/+3
| | | | | | | | | | | | | | | | | | | | Implemented according to the draft specification "VP Codec ISO Media File Format Binding": http://www.webmproject.org/vp9/#draft-vp-codec-iso-media-file-format-binding '-strict -2' is required to use this feature. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* | avcodec: add BitJazz SheerVideo decoderPaul B Mahol2016-06-071-0/+9
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/isom: add MagicYUV FourCCsPiotr Bandurski2016-06-011-0/+8
| |
* | lavf/isom: Support Perian tag NELL for nellymoser.Carl Eugen Hoyos2016-04-231-0/+1
| | | | | | | | Reported by forum user turas35.
* | avformat: add AVFormatContext to ff_get_extradata()Paul B Mahol2016-04-141-1/+1
| | | | | | | | | | | | Needed for av_log() inside that function. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-101-21/+17
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-231-16/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.