summaryrefslogtreecommitdiffstats
path: root/libavformat/mxfdec.c
Commit message (Collapse)AuthorAgeFilesLines
* mxf: Extract origin information from material and source trackMarc-Antoine Arnaud2014-07-281-0/+14
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Detect Vanc/Vbi SMPTE-436M mxf trackMarc-Antoine Arnaud2014-07-281-0/+18
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Remove typoLuca Barbato2014-04-031-1/+1
| | | | Reported-By: Vittorio Giovara <vittorio.giovara@gmail.com>
* mxf: Lowercase UL stringsLuca Barbato2014-03-191-41/+42
| | | | The specification uses lower case most of the time.
* mxf: Override faulty PreviousPartition entriesLuca Barbato2014-03-191-0/+20
| | | | | | | | | | Some files set the PreviousPartition field to point to its own offset. If we are parsing forward the Previous partition is immediately known and its value could be used, otherwise we can safely point to the header. Reported-By: Jean Baptiste Kempf <jb@videolan.org>
* lavf: more correct printf format specifiersDiego Biurrun2014-03-111-5/+8
|
* mxfdec: Validate parameters to strftimeMartin Storsjö2014-03-101-0/+9
| | | | | | | | | | | | The MSVCRT version of strftime calls the invalid parameter handler if the struct values in struct tm are invalid. In case no invalid parameter handler is set for the process, the process is aborted. This fixes fate failures on MSVC builds since 570af382. Based on a patch by Hendrik Leppkes. Signed-off-by: Martin Storsjö <martin@martin.st>
* mxf: Return meaningful errorsLuca Barbato2014-03-061-9/+12
|
* mxf: Parse random index packPaul B Mahol2014-03-061-8/+46
| | | | | | | | | | Get the last partition offset and use it when footer partition offset is missing. Footer partition may not be present and even if present footer partition offset may not be set in any partition except last one. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Handle identification metadataMatthieu Bouron2014-03-061-0/+115
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Set audio packets ptsMatthieu Bouron2014-03-061-5/+106
| | | | | | | | | | | Extrapolate audio timestamps based on the number of samples demuxed. Deal with some MXF nastiness involving fractional number of samples per EditUnit when seeking (the specs handwave this away). Further fixes from Tomas Härdin. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: free descriptor extradata in .read_close()Janne Grunau2014-02-091-0/+3
| | | | Fixes memleak in fate-mxf-demux.
* mxf: Read field dominance flagMatthieu Bouron2014-02-011-0/+19
| | | | | | And export the information in field_order. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Handle negative edit_rateLuca Barbato2014-02-011-0/+9
| | | | Default to 1/25.
* mxf: Fix potential leak in mxf_read_local_tags()Tomas Härdin2014-01-141-0/+3
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Correctly support files from Pinnacle ThunderTomas Härdin2014-01-141-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | Such files have IndexTableSegments which when parsed cover EditUnit ranges like this: [0,1) [249,250) [249,377) [0,249) where each interval is [IndexStartPosition, IndexStartPosition + IndexDuration) This would be reduced to a sparse index like: [0,1), [249,250) instead of the full range: [0,249), [249,377) Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Fix a possible leak of extradataMichael Niedermayer2014-01-141-0/+2
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Use av_malloc_arrayLuca Barbato2014-01-141-7/+7
|
* mxf: Drop unnecessary checksLuca Barbato2014-01-141-5/+0
| | | | av_reallocp_array does the check already.
* mxf: Fix off by one error in d10 aes3 decodingMarton Balint2014-01-141-1/+1
| | | | Without this fix the last sample was missing from the packet.
* mxf: Do not use int to check the seek positionLuca Barbato2014-01-141-2/+4
| | | | | | Overly large files are to be expected. Reported-by: Jean-Baptiste Kempf <jb@videolan.org>
* mxf: Set AV_FIELD_PROGRESSIVEReimar Döffinger2014-01-141-0/+1
| | | | | | Needed for AVC-intra Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: set extradata sizeAnton Khirnov2013-11-291-1/+3
| | | | | The line setting it was mistakenly removed in ecf442a58b09bdb1dc1d2c3904b82ac5f79b2878
* Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-231-0/+2
|
* lavf: improve support for AVC-Intra files.Reimar Döffinger2013-11-141-4/+10
| | | | | | | | 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>
* mxfdec: update current edit unit when seeking in mxf files without index tablesMarton Balint2013-11-141-0/+1
| | | | | | | | Fixes audio packet pts values in some files generated by AVID TRMG 3.01. Signed-off-by: Marton Balint <cus@passwd.hu> Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* mxf: Add jpeg2000 codec to intra only codecsMatthieu Bouron2013-10-101-0/+1
| | | | | | Conform with SMPTE RP 224 and SMPTE s422. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxf: Remove a typoLuca Barbato2013-10-011-1/+1
| | | | Introduced in 93370d1216
* mxfdec: set audio timebase to 1/samplerateAnton Khirnov2013-09-291-1/+9
| | | | | | | | Fixes sync in some samples (e.g. bugs 7581 and 8374 in VLC). Based on a commit by Matthieu Bouron <matthieu.bouron@gmail.com> Reported-by: Jean-Baptiste Kempf <jb@videolan.org> CC: libav-stable@libav.org
* avformat: Use av_reallocp_array() where suitableAlexandra Khirnova2013-09-101-10/+14
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* Remove commented-out debug #define cruftDiego Biurrun2013-05-161-2/+0
|
* avformat: av_log_ask_for_sample() ---> avpriv_request_sample()Diego Biurrun2013-03-131-6/+5
|
* mxfdec: fix NULL checking in mxf_get_sorted_table_segments()Xi Wang2013-01-041-1/+1
| | | | | | | | | | | | The following out-of-memory check is broken. *sorted_segments = av_mallocz(...); if (!sorted_segments) { ... } The correct NULL check should use *sorted_segments. Signed-off-by: Xi Wang <xi.wang@gmail.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* mxfdec: fix typo in mxf_read_seek()Janne Grunau2012-11-151-1/+1
| | | | | | | Check the number of index tables before using byte offset based seeking instead of the index_tables pointer. Found by Måns Rullgård <mans@mansr.com>.
* Use the new aes/md5/sha/tree allocation functionsMartin Storsjö2012-10-111-1/+1
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mxfdec: return error if no segments are available in ↵Janne Grunau2012-10-101-0/+3
| | | | | | mxf_get_sorted_table_segments Fixes CID732275.
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-081-5/+5
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-071-28/+28
|
* Improve descriptiveness of a number of codec and container long namesDiego Biurrun2012-07-301-1/+1
|
* mxfdec: fix off by one error.Michael Niedermayer2012-07-101-1/+1
| | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: only parse next partition pack if parsing forwardTomas Härdin2012-07-101-0/+3
| | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: let pkt->pts = mxf->current_edit_unit if intra-onlyTomas Härdin2012-07-101-0/+11
| | | | | | | | We cannot do this in general since we could be reading a file with B-frames while lacking an index. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: fix frame height vs field height confusionJoseph Artsimovich2012-07-101-1/+32
| | | | | | | Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se> Reveiwed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: Add intra_only flag to MXFTrackTomas Härdin2012-07-101-0/+23
| | | | | | | This allows future assumptions to be made without affecting non-intra files. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: fix Avid AirSpeed files being misinterpreted as OP1aTomas Härdin2012-07-101-5/+9
| | | | | | | | | The "ECs != 1 -> OP1a" assumption was wrong. Luckily, the file that triggered that behavior had two ECs, not zero. Hence distinguishing between them is simple in this case. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: truncate packets that extend past the next edit unitTomas Härdin2012-07-101-15/+50
| | | | | | | | This fixes rare cases where OPAtom may be treated as OP1a, causing all essence to be read into RAM. Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: set pixel format for cdci picture formatsPhilip de Nier2012-07-101-1/+30
| | | | | | | | | | | | | | | | | | The properties of the CDCI Descriptor are insufficient to specify the pixel format for uncompressed picture data. SMPTE 377-1 and RP224v10 have defined a set of picture coding labels to indicate what formatting was used. This patch uses 2 labels to detect UYVY422 or YUYV422 pixel formats. It defaults to UYVY422 for 8-bit 4:2:2 pictures to support files that were created before the coding labels were introduced ~2008 The codec pix_fmt default was changed from 0 (PIX_FMT_YUV420P) to -1 (PIX_FMT_NONE) Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* mxfdec: detect uncomp pictures using essence container ulPhilip de Nier2012-07-101-0/+1
| | | | | | | | | | This supports detection of uncompressed picture in files that didn't include a Picture Coding Label. The lables weren't available until SMPTE 377-1 and RP224v10 Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: set track edit rate num/den in expected orderPhilip de Nier2012-07-101-2/+2
| | | | | | | | This matches the order used for the index table edit rate. Reviewed-by: Baptiste Coudurier <baptiste.coudurier@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* mxfdec: replace x>>av_log2(sizeof(..)) by x/sizeof(..).Ronald S. Bultje2012-07-071-4/+4
| | | | | | Also replace x>>av_log2(sizeof(..)) + 1 by x/sizeof(..). The +1 is probably meant to emulate av_log2_ceil(sizeof(..)) in cases where ".." is not a power of two.
OpenPOWER on IntegriCloud