summaryrefslogtreecommitdiff
path: root/libavformat/isom.c
Commit message (Collapse)AuthorAge
* avformat/isom: don't drop the known layout when parsing AAC decSpecificInfoJames Almer2024-04-02
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: Uninit layout in ff_mp4_read_dec_config_descr()Michael Niedermayer2024-04-02
| | | | | | | | | Fixes: memleak Fixes: 67442/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-5068813261406208 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mp4: add muxer support for H266/VVCThomas Siedel2024-01-31
| | | | | | | | | | | | | | | | | Add muxer for vvcc byte stream format. Add AV_CODEC_ID_VVC to ff_mp4_obj_type. Add AV_CODEC_ID_VVC to ISO Media codec (VvcConfigurationBox vvi1, vvc1 defined in ISO/IEC 14496-15:2021). Add VvcConfigurationBox vvcC which extends FullBox type in ISO/IEC 14496-15:2021. Tested with: ffmpeg -i NovosobornayaSquare_1920x1080.mp4 -c:v libvvenc test.mp4 && ffmpeg -i test.mp4 -f null - ffmpeg -i NovosobornayaSquare_1920x1080.mp4 -c:v copy test.mp4 && ffmpeg -i test.mp4 -f md5 - Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Thomas Siedel <thomas.ff@spin-digital.com> Co-Authored-By: Nuo Mi <nuomi2021@gmail.com>
* avformat/movenc: Remove experimental status of flac-in-MP4 muxingMartijn van Beurden2022-08-08
| | | | | | | | | | | | | 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-07
| | | | | | | | | 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-10
| | | | | | | | 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-15
| | | | | | 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-04
| | | | | | | | | | | 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-04
| | | | | | | | | | | | | | | | 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-22
| | | | | | Also include channel_layout.h directly wherever used. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avformat: remove deprecated AVStream.codecJames Almer2021-04-27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: Remove outcommented functionAndreas Rheinhardt2021-02-23
| | | | | | 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-23
| | | | | | | | | 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-12
|
* avcodec/magicyuv: add support for recently added new formatPaul B Mahol2020-09-22
|
* avformat/isom: add comment to mov_mdhd_language_mapZhao Zhili2020-07-01
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec: add NotchLC decoderPaul B Mahol2020-05-19
|
* avcodec: add cdtoons decoderAlyssa Milburn2020-02-15
| | | | | | | 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-12
| | | | | | | | | 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-27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mov: add demuxing support for Dolby TrueHD streamsJames Almer2019-08-24
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/magicyuv: add support for recently added YUV444P10Paul B Mahol2019-07-11
|
* lavf/isom: Allow reading mp3-in-isom as written by vlc.Carl Eugen Hoyos2019-05-12
| | | | Reported-by: IRC user aiena
* lavf/mov: skip extradata check in esds for MPEG-1/2 audioGyan Doshi2019-04-01
| | | | | | 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-17
| | | | | | | | | | | | | | | 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-08
| | | | | | 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-20
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/isom: don't free extradata before calling ff_get_extradata()James Almer2018-03-06
| | | | | | | | | | | 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-06
| | | | | | | | | | | | | 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-25
| | | | | 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-24
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/magicyuv: add 12 bit formatsPaul B Mahol2017-07-10
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Update mp4 object type for VP9KongQun Yang2017-06-28
| | | | | | 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-12
|
* avformat/movenc: Add experimental muxing support for Opus in ISO BMFF (MP4).Matthew Gregan2017-04-11
| | | | | | | | | 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-03
| | | | Fixes ticket #6124.
* isom: map xalg and avlg to h264, fixes ticket #6099compn2017-01-24
|
* avcodec: add Apple Pixlet decoderPaul B Mahol2016-12-22
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/magicyuv: add 10 bit supportPaul B Mahol2016-12-20
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavf/isom: Support EVRC in pvAuthor files.Carl Eugen Hoyos2016-12-12
| | | | Fixes ticket #6014.
* Add experimental muxing support for FLAC in ISO BMFF (MP4).Matthew Gregan2016-11-21
| | | | | | | | | 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-07
| | | | | | | | | | 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-26
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/raw: Support QT b64a ARGB64 rawvideo.Carl Eugen Hoyos2016-08-13
| | | | | Decoder based on a patch by v0lt, v0lt rambler ru Fixes ticket #5657.
* Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\ | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | Add experimental support for vp9 in iso-bmffKongqun Yang2016-06-17
| | | | | | | | | | | | | | | | | | | | 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-07
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/isom: add MagicYUV FourCCsPiotr Bandurski2016-06-01
| |
* | lavf/isom: Support Perian tag NELL for nellymoser.Carl Eugen Hoyos2016-04-23
| | | | | | | | Reported by forum user turas35.