Tomas Härdin
289bc14449
mxfdec: Make mxf->partitions sorted by offset
...
This also zeroes new entries for good measure (used by future patches).
13 years ago
Tomas Härdin
e5f9c8927b
mxfdec: Parse ThisPartition
13 years ago
Tomas Härdin
dcd30b83b4
mxfdec: Speed up metadata and index parsing
...
Specifically, this means parsing as before until we run into essence.
At that point we seek to the footer and parse until EOF. After that we start
seeking backward to the previous partition and parse that until we run into
essence or the next partition. This procedure is repeated until we encounter
the last partition we parsed in the forward direction.
The end result of all this is that large essence containers aren't needlessly
parsed. This speeds up parsing large files a lot.
13 years ago
Tomas Härdin
e1914b5a2f
mxfdec: Make sure DataDefinition is consistent between material track and source track
...
This fixes 0001GL.MXF.V1.mxf_opatom.mxf and 0001GL00.MXF.A1.mxf_opatom.mxf
getting two streams each due to both using the same SourcePackageID.
13 years ago
Tomas Härdin
1170749b39
mxfdec: Add EssenceContainer UL found in 0001GL00.MXF.A1.mxf_opatom.mxf
13 years ago
Anton Khirnov
c3f9ebf743
lavf: make av_set_pts_info private.
...
It's supposed to be called only from (de)muxers.
13 years ago
Tomas Härdin
fd1cea6549
mxfdec: Add hack that adjusts the n_delta calculation when system items are present
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Tomas Härdin
7ddb0607f3
mxfdec: Parse IndexTableSegments and convert them into AVIndexEntry arrays
...
Based on work by Georg Lippitsch <georg.lippitsch@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Clément Bœsch
eef3ea8c71
Rename remaining ByteIOContext to AVIOContext.
13 years ago
Alex Converse
735e601be1
mxfdec: Fix comparison of unsigned expression < 0.
...
'size' is populated by functions returning int64_t and int that return
negative error codes.
13 years ago
Anton Khirnov
a2faa95151
lavf: make some seeking functions private
...
Specifically av_update_cur_dts(), av_seek_frame_binary() and
av_gen_search().
They are not supposed to be called outside lavf.
13 years ago
Anton Khirnov
84ad31ff18
lavf: replace av_new_stream->avformat_new_stream part II.
...
Manual replacements are done in this commit.
In many cases, the id is some constant made up number (e.g. 0 for video
and 1 for audio), which is then not used in the demuxer for anything.
Those ids are removed.
13 years ago
Alex Converse
0c46e958d1
mxfdec: Fix some buffer overreads caused by the misuse of AVPacket related functions.
13 years ago
Tomas Härdin
d377deaaa3
mxfdec: Move FooterPartition to MXFContext and make sure it's never set to zero
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Tomas Härdin
3e48dceac0
mxfdec: Consider QuantizationBits between 17 and 24 to be pcm_s24*
...
This fixes playback of BRD38772509.mxf
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Joakim Plate
a3f4fc813d
[mxfdec] Check return value of avio_seek and avoid modifying state if it fails
13 years ago
Philip de Nier
47886e3644
mxfdec: skip to end of structural sets This fixes reading of partition packs. The code stops reading after the operational pattern and should skip the array of essence container labels that follow
13 years ago
Tomas Härdin
9289eada91
Parse MXF partitions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Alex Converse
1f6f58d585
mxfdec: Include FF_INPUT_BUFFER_PADDING_SIZE when allocating extradata.
...
This prevents out of bounds reads when extradata is being decoded.
13 years ago
Anton Khirnov
dfc2c4d900
lavf: use designated initialisers for all (de)muxers.
...
It's more readable and less prone to breakage.
14 years ago
Mans Rullgard
0ebcdf5cda
Do not include mathematics.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Biurrun
b0a4e5f9e7
Employ correct printf format specifiers, mostly in debug output.
14 years ago
Clément Bœsch
fd38a15adf
Fix various bad printf format warnings
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Mans Rullgard
2912e87a6c
Replace FFmpeg with Libav in licence headers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Anton Khirnov
45a8a02a41
lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
66e5b1df36
avio: deprecate url_feof
...
AVIOContext.eof_reached should be used directly instead.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
384c9c2fa7
avio: add avio_tell macro as a replacement for url_ftell
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit a2704c9712
)
14 years ago
Anton Khirnov
a2704c9712
avio: add avio_tell macro as a replacement for url_ftell
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
74b3f67c9c
lavf: replace all uses of url_fskip with avio_seek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e356fc57a2
)
14 years ago
Anton Khirnov
f59d8ff8cd
avio: avio_ prefix for url_fseek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b4aa5dac8
)
14 years ago
Anton Khirnov
e356fc57a2
lavf: replace all uses of url_fskip with avio_seek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
6b4aa5dac8
avio: avio_ prefix for url_fseek
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
e63a362857
avio: avio_ prefixes for get_* functions
...
In the name of consistency:
get_byte -> avio_r8
get_<type> -> avio_r<type>
get_buffer -> avio_read
get_partial_buffer will be made private later
get_strz is left out becase I want to change it later to return
something useful.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b7effd4e83
)
14 years ago
Anton Khirnov
b7effd4e83
avio: avio_ prefixes for get_* functions
...
In the name of consistency:
get_byte -> avio_r8
get_<type> -> avio_r<type>
get_buffer -> avio_read
get_partial_buffer will be made private later
get_strz is left out becase I want to change it later to return
something useful.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Anton Khirnov
471fe57e1a
avio: rename ByteIOContext to AVIOContext.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd
)
14 years ago
Anton Khirnov
ae628ec1fd
avio: rename ByteIOContext to AVIOContext.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Luca Barbato
9ef5a9deaf
Replace dprintf with av_dlog
...
dprintf clashes with POSIX.1-2008
(cherry picked from commit dfd2a005eb
)
14 years ago
Luca Barbato
dfd2a005eb
Replace dprintf with av_dlog
...
dprintf clashes with POSIX.1-2008
14 years ago
Diego Elio Pettenò
66355be3c3
Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
...
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
(cherry picked from commit c6610a216e
)
14 years ago
Diego Elio Pettenò
c6610a216e
Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
...
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
14 years ago
Axel Holzinger
354b757300
Zero-initialize structs/arrays with {0} instead of {}, which isn't proper C99
...
Patch by Axel Holzinger, aholzinger at gmx dot de
Originally committed as revision 24391 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
39bb30f664
Change all functions referenced in the mxf_metadata_read_table to use the same
...
prototype and also always call them with exactly those arguments.
The previous way seems to have worked on all supported platforms, however
it was not strictly valid C and would crash e.g. with a compiler that
uses stdcall by default.
Also avoids warnings if -Wstrict-prototypes is used.
Originally committed as revision 23939 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Tomas Härdin
11fdc4d4fc
mxfdec: Improve parsing of the PixelLayout item
...
Originally committed as revision 23898 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Stefano Sabatini
72415b2adb
Define AVMediaType enum, and use it instead of enum CodecType, which
...
is deprecated and will be dropped at the next major bump.
Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
c7a38887c1
Do D10 AES3 audio conversion in-place instead of using a large on-stack buffer.
...
Originally committed as revision 20567 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Reimar Döffinger
1e69999334
MXF: simply ignore tracks that are invalid due to not having a valid Sequence
...
part instead of failing completely.
This partly fixes issue 1470 (broken files created by BBC ingex recorder).
Originally committed as revision 20221 to svn://svn.ffmpeg.org/ffmpeg/trunk
15 years ago
Baptiste Coudurier
9291fdf7bc
return AVERROR_EOF
...
Originally committed as revision 18993 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Baptiste Coudurier
8be080aebb
free Track and unset priv_data to avoid double free, fix memleak
...
Originally committed as revision 18836 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Baptiste Coudurier
b4800b8b7d
protect realloc overflow
...
Originally committed as revision 18088 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago
Baptiste Coudurier
5ac4d7689d
reuse MXFCodecUL for data def and simplify
...
Originally committed as revision 17042 to svn://svn.ffmpeg.org/ffmpeg/trunk
16 years ago