Commit Graph

512 Commits

Author SHA1 Message Date
Chris Evans
69619a13c3 matroskadec: fix integer underflow if header length < probe length.
This fixes a crash with specifically crafted files.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-19 18:06:06 -07:00
Michael Niedermayer
78accb876c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ffmpeg: fix some indentation
  ffmpeg: fix operation with --disable-avfilter
  simple_idct: remove disabled code
  motion_est: remove disabled code
  vc1: remove disabled code
  fate: separate lavf-mxf_d10 test from lavf-mxf
  cabac: Move code only used in the cabac test program to cabac.c.
  ffplay: warn that -pix_fmt is no longer working, suggest alternative
  ffplay: warn that -s is no longer working, suggest alternative
  lavf: rename enc variable in utils.c:has_codec_parameters()
  lavf: use designated initialisers for all (de)muxers.
  wav: remove a use of deprecated AV_METADATA_ macro
  rmdec: remove useless ap parameter from rm_read_header_old()
  dct-test: remove write-only variable
  des: fix #if conditional around P_shuffle
  Use LOCAL_ALIGNED in ff_check_alignment()

Conflicts:
	ffmpeg.c
	libavformat/avidec.c
	libavformat/matroskaenc.c
	libavformat/mp3enc.c
	libavformat/oggenc.c
	libavformat/utils.c
	tests/ref/lavf/mxf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-17 20:12:02 +02:00
Anton Khirnov
dfc2c4d900 lavf: use designated initialisers for all (de)muxers.
It's more readable and less prone to breakage.
2011-07-17 06:58:37 +02:00
Michael Niedermayer
3602ad7ee6 Merge commit '142e76f1055de5dde44696e71a5f63f2cb11dedf'
* commit '142e76f1055de5dde44696e71a5f63f2cb11dedf':
  swscale: fix crash with dithering due incorrect offset calculation.
  matroskadec: fix stupid typo (!= -> ==)
  build: remove duplicates from order-only directory prerequisite list
  build: rework rules for things in the tools dir
  configure: fix --cpu=host with gcc 4.6
  ARM: use const macro to define constant data in asm
  bitdepth: simplify FUNC/FUNCC macros
  dsputil: remove ff_emulated_edge_mc macro used in one place
  9/10-bit: simplify clipping macros
  matroskadec: reindent
  matroskadec: defer parsing of cues element until we seek.
  lavc: add support for codec-specific defaults.
  lavc: make avcodec_alloc_context3 officially public.
  lavc: remove a half-working attempt at different defaults for audio/video codecs.
  ac3dec: add a drc_scale private option
  lavf: add avformat_find_stream_info()
  lavc: introduce avcodec_open2() as a replacement for avcodec_open().

Conflicts:
	Makefile
	libavcodec/utils.c
	libavformat/avformat.h
	libswscale/swscale_internal.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-11 04:23:25 +02:00
Anton Khirnov
fdb94444be matroskadec: fix stupid typo (!= -> ==)
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-10 22:04:03 +01:00
Anton Khirnov
f47ac3c6ca matroskadec: reindent 2011-07-10 18:51:30 +02:00
Aaron Colwell
31ad14c21e matroskadec: defer parsing of cues element until we seek.
This decreases startup latency.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-10 18:51:30 +02:00
Michael Niedermayer
3074f03a07 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  get_bits: remove x86 inline asm in A32 bitstream reader
  doc: Remove outdated information about our issue tracker
  avidec: Factor out the sync fucntionality.
  fate-aac: Expand coverage.
  ac3dsp: add x86-optimized versions of ac3dsp.extract_exponents().
  ac3dsp: simplify extract_exponents() now that it does not need to do clipping.
  ac3enc: clip coefficients after MDCT.
  ac3enc: add int32_t array clipping function to DSPUtil, including x86 versions.
  swscale: for >8bit scaling, read in native bit-depth.
  matroskadec: matroska_read_seek after after EBML_STOP leads to failure.
  doxygen: fix usage of @file directive in libavutil/{dict,file}.h
  doxygen: Help doxygen parser to understand the DECLARE_ALIGNED and offsetof macros

Conflicts:
	doc/issue_tracker.txt
	libavformat/avidec.c
	libavutil/dict.h
	libswscale/swscale.c
	libswscale/utils.c
	tests/ref/lavfi/pixfmts_scale

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-07-02 03:24:32 +02:00
John Stebbins
cdc2c1c576 matroskadec: matroska_read_seek after after EBML_STOP leads to failure.
EBML_STOP leaves matroska->current_id set. Then matroska_read_seek changes
the stream position without resetting current_id.  The next
matroska_parse_cluster  fails due to calculation of incorrect pos.  So clear
current_id when avio_seek happens in matroska_read_seek.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-01 08:59:26 -07:00
Michael Niedermayer
8c0cbb0848 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rational-test: Add proper main() declaration to fix gcc warnings.
  configure: Add vdpau and dxva2 to configure results output.
  Remove unused, never built libavutil/pca.[ch]
  matroskadec: forward parsing errors to caller.
  av_find_stream_info: simplify EAGAIN handling.
  aacenc: Fix determination of Mid/Side Mode.
  psymodel: Remove the single channel analysis function
  aacenc: Implement dummy channel group analysis that just calls the single channel analysis for each channel.
  psymodel: Add channels and channel groups to the psymodel.
  ARM: remove check for PLD instruction
  fate: move amr[nw]b test rules into separate files
  ogg: fix double free when finding length of small chained oggs.
  swscale: implement >8bit scaling support.
  build: fix creation of tools dir with make 3.81
  build: Mark all-yes Makefile target as phony.
  pixfmt: fix YUV422/444 wrong endian comment
  build: create output directories as needed
  Add new yuv444 pixfmts to avcodec_align_dimensions2

Conflicts:
	Makefile
	configure
	libavutil/pca.c
	libavutil/pca.h
	libavutil/pixfmt.h
	libswscale/swscale.c
	libswscale/utils.c
	libswscale/x86/swscale_template.c
	tests/ref/lavfi/pixdesc
	tests/ref/lavfi/pixfmts_copy
	tests/ref/lavfi/pixfmts_null
	tests/ref/lavfi/pixfmts_scale
	tests/ref/lavfi/pixfmts_vflip

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-30 04:32:24 +02:00
Ami Fischman
5dd514af93 matroskadec: forward parsing errors to caller.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-06-29 15:27:55 -07:00
Aurelien Jacobs
fdb5e02901 matroskadec: properly decode color space in an endian neutral way 2011-06-14 02:00:06 +02:00
Aurelien Jacobs
5fec3a2539 matroskadec: use a temporary fourcc variable 2011-06-14 01:58:11 +02:00
Aurelien Jacobs
e6ba3d4281 replace remaining usage of deprecated av_metadata_set2() by av_dict_set() 2011-06-13 19:02:50 +02:00
Reimar Döffinger
4654420410 matroskadec: set timestamps for RealAudio packets.
Improves seeking in ffplay with
http://samples.mplayerhq.hu/Matroska/RA_missing_timestamps.mkv

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-06-09 22:53:17 +02:00
Michael Niedermayer
f9ecb849ef Merge remote-tracking branch 'qatar/master'
* qatar/master:
  crypto: Use av_freep instead of av_free
  lavf: don't try to free private options if priv_data is NULL.
  swscale: fix types of assembly arguments.
  swscale: move two macros that are only used once into caller.
  swscale: remove unused function.
  options: Add missing braces around struct initializer.
  mov: Remove leftover crufty debug statement with references to a local file.
  dvbsubdec: Fix compilation of debug code.
  Remove all uses of now deprecated metadata functions.
  Move metadata API from lavf to lavu.

Conflicts:
	doc/APIchanges
	libavformat/aiffdec.c
	libavformat/asfdec.c
	libavformat/avformat.h
	libavformat/avidec.c
	libavformat/cafdec.c
	libavformat/matroskaenc.c
	libavformat/mov.c
	libavformat/mp3enc.c
	libavformat/wtv.c
	libavutil/avutil.h
	libavutil/internal.h
	libswscale/swscale.c
	libswscale/x86/swscale_template.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-09 04:47:19 +02:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Clément Bœsch
b443447536 Fix various uninitialized variable warnings 2011-06-02 10:36:56 +02:00
Aurelien Jacobs
b44bbf908d matroskadec: fix reverted condition to accept combine_plane operation 2011-05-24 23:26:24 +02:00
Aurelien Jacobs
4c509fe305 matroska: cleanup handling of video stereo mode 2011-05-24 01:12:19 +02:00
Kirill Gavrilov
e6ec9212c5 matroska: switch stereo mode from int to string and add support in the demuxer too 2011-05-21 17:23:30 +02:00
Aurelien Jacobs
9c569ef712 matroskadec: check that pointers were initialized before accessing them
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-05-12 18:02:28 +02:00
Michael Niedermayer
efb5fa79f5 Merge remote branch 'qatar/master'
* qatar/master: (37 commits)
  In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function.
  lavc: remove reference to opt.h from Makefile.
  prefer avio_check() over url_exist()
  avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
  lavu: remove misc disabled cruft
  lavu: remove FF_API_OLD_IMAGE_NAMES cruft
NOT PULLED  lavu: remove FF_API_OLD_EVAL_NAMES cruft
  lavc: remove misc disabled cruft.
  lavc: remove the FF_API_INOFFICIAL cruft.
  lavc: remove the FF_API_SET_STRING_OLD cruft.
  lavc: remove the FF_API_USE_LPC cruft.
  lavc: remove the FF_API_SUBTITLE_OLD cruft.
  lavc: remove the FF_API_VIDEO_OLD cruft.
  lavc: remove the FF_API_AUDIO_OLD cruft.
  lavc: remove the FF_API_OPT_SHOW cruft.
  lavc: remove the FF_API_MM_FLAGS cruft.
  lavf: remove misc disabled cruft.
  lavf: remove FF_API_INDEX_BUILT cruft
  lavf: remove FF_API_URL_CLASS cruft.
  lavf: remove FF_API_SYMVER cruft
  ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-20 04:48:23 +02:00
Stefano Sabatini
59d96941f0 avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols
Make AVIO_FLAG_ access constants work as flags, and in particular fix
the behavior of functions (such as avio_check()) which expect them to
be flags rather than modes.

This breaks API.
2011-04-19 19:47:58 +02:00
Michael Niedermayer
85b2114759 Merge commit 'a3a0af4fb1237bed0af75868073f9a63db8b1864'
* commit 'a3a0af4fb1237bed0af75868073f9a63db8b1864':
  avutil: make aes and sha api public
  handle malloc failures in ff_get_wav_header
  add xWMA demuxer
  mpegts: force the default timebase
  libavcodec: Bump micro after adding the dtx AVOptions

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-15 04:50:06 +02:00
Max Horn
ca402f32e3 handle malloc failures in ff_get_wav_header
ff_get_wav_header is reading data from a WAVE file and then uses it
(without validation) to malloc a buffer. It then proceeded to read
data into the buffer, without verifying that the allocation succeeded.

To address this, change ff_get_wav_header to return an error if
allocation failed, and adapted all calling code to handle that error.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-14 13:56:09 +02:00
Michael Niedermayer
c88caa522c Merge remote branch 'qatar/master'
* qatar/master:
  proto: include os_support.h in network.h
  matroskaenc: don't write an empty Cues element.
  lavc: add a FF_API_REQUEST_CHANNELS deprecation macro
  avio: move extern url_interrupt_cb declaration from avio.h to url.h
  avio: make av_register_protocol2 internal.
  avio: avio_ prefix for url_set_interrupt_cb.
  avio: AVIO_ prefixes for URL_ open flags.
  proto: introduce listen option in tcp
  doc: clarify configure features
  proto: factor ff_network_wait_fd and use it on udp

Conflicts:
	ffmpeg.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-08 02:50:13 +02:00
Anton Khirnov
f87b1b373a avio: AVIO_ prefixes for URL_ open flags. 2011-04-07 18:07:16 +02:00
Michael Niedermayer
2cae9809e2 Merge remote branch 'qatar/master'
* qatar/master:
  fate: fix partial run when no samples path is specified
  ARM: NEON fixed-point forward MDCT
  ARM: NEON fixed-point FFT
  lavf: bump minor version and add an APIChanges entry for avio changes
  avio: simplify url_open_dyn_buf_internal by using avio_alloc_context()
  avio: make url_fdopen internal.
  avio: make url_open_dyn_packet_buf internal.
  avio: avio_ prefix for url_close_dyn_buf
  avio: avio_ prefix for url_open_dyn_buf
  avio: introduce an AVIOContext.seekable field
  ac3enc: use generic fixed-point mdct
  lavfi: add fade filter
  Change yadif to not use out of picture lines.
  lavc: deprecate AVCodecContext.antialias_algo
  lavc: mark mb_qmin/mb_qmax for removal on next major bump.

Conflicts:
	doc/filters.texi
	libavcodec/ac3enc_fixed.h
	libavcodec/ac3enc_float.h
	libavfilter/Makefile
	libavfilter/allfilters.c
	libavfilter/vf_fade.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-04 02:15:12 +02:00
Anton Khirnov
8978fedaee avio: introduce an AVIOContext.seekable field
Use it instead of url_is_streamed and AVIOContext.is_streamed.
2011-04-03 22:46:40 +02:00
Michael Niedermayer
1c0a472630 Revert "matroskadec: set default duration for simple block"
This reverts commit 98a7d560b4.
This has been implemented differently by aurel already
2011-03-25 12:00:17 +01:00
Michael Niedermayer
797ef671dd Merge remote-tracking branch 'newdev/master'
* newdev/master:
  matroskadec: set default duration for simple block
  When building for MinGW32 disable strict ANSI compliancy.
  ARM: fix ff_apply_window_int16_neon() prototype
  configure: check for --as-needed support early
  ARM: NEON optimised apply_window_int16()
  ac3enc: NEON optimised shift functions
  ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min
  mpeg12.c: fix slice threading for mpeg2 field picture mode.
  ffmetadec.c: fix compiler warnings.
  configure: Don't explicitly disable ffplay or in/outdevices on dos
  configure: Remove the explicit disabling of ffserver
  configure: Add fork as a dependency to ffserver

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-25 02:57:41 +01:00
John Stebbins
98a7d560b4 matroskadec: set default duration for simple block
When a normal Block is parsed, duration is initialized to
AV_NOPTS_VALUE.  If it is not changed, then the track's default
duration is used.  But for SimpleBlock, duration is initialized to
0 instead of AV_NOPTS_VALUE.  This is due to the difference in how
EBML_NEST vs EBML_PASS are processed.  Setting duration to 0 leads
eventually to wrongly estimate the frame duration in util.c

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-03-25 00:34:18 +01:00
Aurelien Jacobs
2851b1f656 matroskadec: check that pointers were initialized before accessing them
fix ticket #14

Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
2011-03-24 00:29:25 +01:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Michael Niedermayer
0fecf2642b Merge remote-tracking branch 'newdev/master'
Conflicts:
	Changelog
	doc/APIchanges
	doc/optimization.txt
	libavformat/avio.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-03-17 17:22:52 +01:00
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>
2011-03-16 22:24:51 -04:00
Aurelien Jacobs
6f1260f870 matroskadec: set a default duration also for packets comming from a simple block 2011-03-16 23:37:16 +01:00
Anton Khirnov
66e5b1df36 avio: deprecate url_feof
AVIOContext.eof_reached should be used directly instead.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-07 17:20:31 -05:00
Reimar Döffinger
b09e506820 Make matroska demuxer also set timestamps for RealAudio packets.
Improves seeking in ffplay with
http://samples.mplayerhq.hu/Matroska/RA_missing_timestamps.mkv
2011-03-05 12:48:39 +01:00
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)
2011-03-05 02:29:31 +01:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
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)
2011-03-03 14:15:08 +01:00
Anton Khirnov
f59d8ff8cd avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6b4aa5dac8)
2011-03-03 14:15:03 +01:00
Anton Khirnov
e356fc57a2 lavf: replace all uses of url_fskip with avio_seek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:22:16 -05:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
e9eb8d0bce avio: avio: avio_ prefixes for put_* functions
In the name of consistency:
put_byte           -> avio_w8
put_<type>         -> avio_w<type>
put_buffer         -> avio_write

put_nbyte will be made private
put_tag will be merged with avio_put_str

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 77eb5504d3)
2011-02-22 02:44:38 +01:00
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)
2011-02-22 02:44:37 +01:00
Anton Khirnov
77eb5504d3 avio: avio: avio_ prefixes for put_* functions
In the name of consistency:
put_byte           -> avio_w8
put_<type>         -> avio_w<type>
put_buffer         -> avio_write

put_nbyte will be made private
put_tag will be merged with avio_put_str

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 14:25:15 -05:00
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>
2011-02-21 11:23:22 -05:00
Anton Khirnov
ae99313aa5 avio: move init_put_byte() to a new private header and rename it
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e731b8d872)
2011-02-20 19:05:47 +01:00
Anton Khirnov
471fe57e1a avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ae628ec1fd)
2011-02-20 19:05:47 +01:00
Anton Khirnov
e731b8d872 avio: move init_put_byte() to a new private header and rename it
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:31 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Reimar Döffinger
14d735bd4f matroskadec: add generic element length validation.
This validate the length of a mkv element directly after reading
it.
This has the advantage that it is easy to add new limits and makes
it less likely to forget to add checks and also avoids issues like
bits of the length value above the first 32 being ignored because
the parsing functions only takes an int.
Previously discussed in the "mkv 0-byte integer parsing" thread.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 95ec3d4cac)
2011-02-09 03:31:17 +01:00
Reimar Döffinger
95ec3d4cac matroskadec: add generic element length validation.
This validate the length of a mkv element directly after reading
it.
This has the advantage that it is easy to add new limits and makes
it less likely to forget to add checks and also avoids issues like
bits of the length value above the first 32 being ignored because
the parsing functions only takes an int.
Previously discussed in the "mkv 0-byte integer parsing" thread.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-06 21:36:53 -05:00
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)
2011-01-28 03:15:34 +01:00
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.
2011-01-26 22:10:09 +00:00
Anton Khirnov
bf800c7db8 matroskadec: skip invalid tags with no TagName
fixes segfault in issue 2328

Originally committed as revision 25659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 06:29:04 +00:00
Anton Khirnov
ad7768f4c4 add ff_ prefix to metadata_conv()
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25505 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-16 13:20:41 +00:00
Anton Khirnov
03700d399b Export metadata in the generic format. Deprecate old conversion API.
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 19:04:25 +00:00
Reimar Döffinger
1b4d327b1c Add a special function to mkv demxuer to parse length values that includes
special-case code to handle all possible encodings of "unknown length".

Originally committed as revision 25049 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-06 17:51:44 +00:00
Aurelien Jacobs
4a194c8f47 matroskadec: allow uint and float elements with length = 0
Originally committed as revision 25044 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-05 21:37:40 +00:00
Reimar Döffinger
ff6a5fc1f0 Optimize/simplify ebml_read_num.
Originally committed as revision 25026 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-02 19:17:46 +00:00
Aurelien Jacobs
e110e968fe matroskadec: minor simplification
patch from reimar

Originally committed as revision 24804 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 14:25:14 +00:00
Aurelien Jacobs
4f90688b6e matroskadec: fix integer overflow
patch from reimar

Originally committed as revision 24803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-17 14:05:23 +00:00
Alex Converse
f7cf0f3148 Add WebM to the Matroska demuxer name.
Originally committed as revision 24639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-01 00:30:37 +00:00
David Conrad
41c1ccc332 matroskadec: merge only SSA packets together
fixes issue 2052
patch by David Conrad

Originally committed as revision 24004 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 16:41:38 +00:00
Aurelien Jacobs
7a617a8634 add AV_DISPOSITION_FORCED flag and use it in matroska demuxer
Originally committed as revision 24003 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 16:38:44 +00:00
Aurelien Jacobs
0ade7bb6e9 matroskadec : propagate AVERROR to the caller
based on a patch by Jai Menon

Originally committed as revision 23619 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-15 19:53:15 +00:00
Aurelien Jacobs
bddd1d93e5 matroskadec: fix type of the length field in ebml_read_master()
Also use the correct value for unknown size (instead of a truncated
and sign extended value).

Originally committed as revision 23591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 17:16:43 +00:00
Aurelien Jacobs
739178107c matroskadec: cosmetic: indentation
Originally committed as revision 23590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:45:38 +00:00
Aurelien Jacobs
8dbe48fccb matroskadec: add support for live broadcast containing unknown size clusters
This interrupt parsing and goes one ebml level up when encountering
a cluster start inside an unknown sized element which is not supposed to
contain a cluster.
fix issue1991

Originally committed as revision 23589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:43:47 +00:00
Aurelien Jacobs
80702035d2 matroskadec: simplify parsing of the first cluster
Now that we save the currently parsed ebml element ID after an interruption,
we don't need to special case the parsing of the first cluster.

Originally committed as revision 23588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:36:51 +00:00
Aurelien Jacobs
c3ade62ca3 matroskadec: store the ID of the currently parsed ebml element
This allows to interrupt parsing after reading an ID, and then properly
recover parsing.

Originally committed as revision 23587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:34:01 +00:00
Aurelien Jacobs
6c58adf3b7 matroskadec: cosmetic: split a line to make it more readable
This also simplifies further modifications.

Originally committed as revision 23586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 16:27:30 +00:00
Reimar Döffinger
120a083fb7 Do not attempt to seek to index for streamed files and if the user explicitly
requested us not to read the index.

Originally committed as revision 23540 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 19:31:08 +00:00
Reimar Döffinger
c31f00ed63 Fix the MATROSKA_ID_TAGDEFAULT to match the specification (instead of
libmatroska etc. typo) but continue to support the "old" value.

Originally committed as revision 23539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 19:28:22 +00:00
Aurelien Jacobs
37dd235658 matroskadec: avoid potential crash after r23169
Originally committed as revision 23330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-25 22:55:12 +00:00
David Conrad
8daed34e48 matroskadec: Revert adding the doctype to metadata; it has no meaning elsewhere
Originally committed as revision 23275 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-23 22:20:04 +00:00
David Conrad
c7b913c8ad matroskadec: Allow unknown EBML doctype
Originally committed as revision 23246 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:35 +00:00
James Zern
470491faed matroskadec: Support webm doctype
Patch by James Zern <jzern at google>

Originally committed as revision 23245 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:32 +00:00
David Conrad
5549aa6d0d matroskadec: Free ebml binary buffer on error
Based on a Chromium patch

Originally committed as revision 23169 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:37 +00:00
David Conrad
465c28b6b4 matroskadec: Fix buffer overread in matroska_ebmlnum_uint
Based on a Chromium patch

Originally committed as revision 23168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:32 +00:00
David Conrad
d98bd80ed3 matroskadec: Ensure time_scale is nonzero, fixes divide-by-zero if the file
has 0 written

Based on a Chromium patch

Originally committed as revision 23167 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:28 +00:00
David Conrad
1c664b239c matroskadec: Use av_freep in ebml_read_ascii
Based on a Chromium patch

Originally committed as revision 23166 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 21:21:23 +00:00
Baptiste Coudurier
1095d44258 set avg frame rate in mkv demuxer
Originally committed as revision 23152 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-17 18:12:58 +00:00
Stefano Sabatini
2ef6c1242a Mark av_metadata_set() as deprecated, and use av_metadata_set2()
in its place.

av_metadata_set() is going to be dropped at the next major bump.

Originally committed as revision 22961 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-25 14:27:42 +00:00
Baptiste Coudurier
f7501a71a1 seems aac gets screwed up by the parser so disable it
Originally committed as revision 22926 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 21:23:49 +00:00
Baptiste Coudurier
dc1c26dc8e parse stream headers for audio streams in mkv, needed for frame size
Originally committed as revision 22925 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 21:19:27 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Stefano Sabatini
9a2cb05ff9 Move the internal function declarations in avformat.h to internal.h.
Originally committed as revision 22843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 21:44:23 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
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
2010-03-30 23:30:55 +00:00
Aurelien Jacobs
e536ccd653 matroskadec: use more appropriate error code
Originally committed as revision 22535 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 00:19:22 +00:00
Aurelien Jacobs
6b10228a55 matroskadec: add support for SIPR audio tracks
Originally committed as revision 22492 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12 23:49:06 +00:00
David Conrad
e48f7ff3cb matroskadec: Fix a buffer overread
Originally committed as revision 22271 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-07 02:26:30 +00:00
Aurelien Jacobs
68b0fd7c68 matroskadec: cosmetic indentation
Originally committed as revision 22185 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:49:24 +00:00
Joakim Plate
3e93c8ed14 matroskadec: timestamps are dts and not pts in ms vfw compatibility mode
original patch by elupus _at_ ecce _dot_ se

Originally committed as revision 22184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 21:46:43 +00:00
Anton Khirnov
ca76a11948 Add a list of generic tags and change demuxers to follow it.
Patch by Anton Khirnov, wyskas at gmail dot com

Originally committed as revision 21587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-01 11:39:10 +00:00
David Conrad
18ca491bf1 mkvdec: Avoid divide-by-zero crash on invalid real audio tracks
Originally committed as revision 21129 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11 00:31:55 +00:00
Aurelien Jacobs
553e9f7529 matroskadec: cosmetics: indentation
Originally committed as revision 20133 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:15:36 +00:00
Aurelien Jacobs
ff0d5a745e matroskadec: don't overwrite extradata already read by ff_get_wav_header()
Originally committed as revision 20132 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:14:46 +00:00
Aurelien Jacobs
038146e9cf matroskadec: fix handling of A_MS/ACM track with no extradata
Originally committed as revision 20131 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-01 21:14:05 +00:00
Aurelien Jacobs
429eeecd5a matroskadec: add correct extradata offset for V_MS/VFW/FOURCC tracks
Originally committed as revision 19694 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 13:43:33 +00:00
Aurelien Jacobs
e26444079c matroskadec: factorize some code
Originally committed as revision 19693 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-24 13:40:30 +00:00
Aurelien Jacobs
8306be9c3b matroskadec: disable h264 parser as long as it totally mess up frame type
Originally committed as revision 19622 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 18:12:02 +00:00
Aurelien Jacobs
194d4b494b matroskadec: correctly parse flags for simpleblock frames
Originally committed as revision 19621 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-08-10 18:06:14 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Aurelien Jacobs
4f909c7675 matroskadec: prepend TargetType to metadata key name
Originally committed as revision 19184 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13 22:29:38 +00:00
Benjamin Larsson
0871e65cf6 Remove unused code found by CSA
Originally committed as revision 18783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 14:33:40 +00:00
Aurelien Jacobs
719e721a14 Add some basic metadata conversion tables for matroska and asf.
Add missing const qualifiers for metadata_conv in AV{In|Out}putFormat.

Originally committed as revision 17671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 00:12:08 +00:00
Aurelien Jacobs
9ebeea82f0 matroskadec: return AVERROR_EOF upon detection of end of file
Originally committed as revision 17460 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-19 21:01:45 +00:00
Aurelien Jacobs
f702df396d matroskadec: export language of metadata tags when available
Originally committed as revision 17334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 16:05:37 +00:00
Aurelien Jacobs
929e9de7a1 matroskadec: add generic metadata support
Originally committed as revision 17331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:53:55 +00:00
Aurelien Jacobs
325ace3efc matroskadec: read track and attachment uid
will be useful for generic metadata support

Originally committed as revision 17330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:34:22 +00:00
Aurelien Jacobs
38766e084f matroskadec: export track name through the metadata API
Originally committed as revision 17329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:29:09 +00:00
Aurelien Jacobs
6cb6e159f8 matroskadec: use new metadata API to export some simple information
Originally committed as revision 17328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 15:25:14 +00:00
Aurelien Jacobs
69b6d53beb cosmetics: whitespace
Originally committed as revision 16951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 21:32:11 +00:00
Reimar Döffinger
0b178e5629 Add av_ prefix to LZO stuff and thus make it officially part of the public API.
Keep lzo1x_decode until the next major version bump for binary compatibility.

Originally committed as revision 16946 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-02 20:16:00 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Aurelien Jacobs
0e169d16f1 matroskadec: merge ByteIOContext declarations at upper level
Originally committed as revision 16673 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 17:26:24 +00:00
Aurelien Jacobs
68a71451f6 matroskadec: parse the WAVEFORMATEX header and discard it from extradata
Originally committed as revision 16672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-18 17:13:12 +00:00
Aurelien Jacobs
e0e4be590c matroskadec: ensure we only consider chapters which are properly ordered
Originally committed as revision 16612 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 00:42:57 +00:00
Aurelien Jacobs
b250f9c66d Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.

Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-13 23:44:16 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Alexander Strange
1ca610c015 Allocate and clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of mkv
extradata.

Fixes valgrind invalid read warnings during H.264 extradata parsing.

Originally committed as revision 16229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-19 01:00:44 +00:00
Aurelien Jacobs
8f569ed08f matroskadec: fix index timestamps for some broken files
fix issue697

Originally committed as revision 15829 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-15 15:34:51 +00:00
Aurelien Jacobs
37d3e0667a uses FF_ARRAY_ELEMS() where appropriate
Originally committed as revision 15662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-21 21:40:24 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Aurelien Jacobs
c58e8bd3c3 matroskadec: cosmetics: indentation
Originally committed as revision 15529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 21:15:48 +00:00
Aurelien Jacobs
21a115d17b matroskadec: don't merge packets which have no timestamp
Originally committed as revision 15528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-02 21:14:56 +00:00
Aurelien Jacobs
d5e34dcb72 matroskadec: merge ASS events which share the same pts in the same AVPavket
Originally committed as revision 15455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 23:06:25 +00:00
Aurelien Jacobs
3df2be9fa7 matroskadec: ass events lines must end with a DOS style EOL
Originally committed as revision 15454 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 23:01:07 +00:00
Aurelien Jacobs
1bb4a1a1c4 matroskadec: set duration only for CODEC_ID_TEXT subtitles
Originally committed as revision 15453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 22:58:53 +00:00
Aurelien Jacobs
e7d4b7431d matroskadec: pass duration as parameter of matroska_fix_ass_packet()
Originally committed as revision 15452 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-28 22:55:28 +00:00
Aurelien Jacobs
a8fd7e764a matroskadec: simplify, first_timecode is already in the index
no need to duplicate it

Originally committed as revision 15302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-12 00:06:06 +00:00
Aurelien Jacobs
5358a81f9c matroskadec: prevent seeking before the first keyframe of the reference stream
Originally committed as revision 15301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-11 22:42:17 +00:00
Aurelien Jacobs
c16582579b matroskadec: demux relevant subtitle packets after a seek
only works for subtitle tracks which were properly indexed up to the seek point

Originally committed as revision 15284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 12:10:25 +00:00
Aurelien Jacobs
82360e670d matroskadec: ensure that overlapping subtitles are not added to the index
Originally committed as revision 15283 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 12:07:10 +00:00
Aurelien Jacobs
20f7466550 matroskadec: after seeking, skip up to the desired timestamp instead of
the desired stream

Originally committed as revision 15282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 12:01:51 +00:00
Aurelien Jacobs
f14a201b32 matroskadec: move timecode calculation a little earlier
so as to be able to use it in other part of the code

Originally committed as revision 15281 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 11:54:35 +00:00
Aurelien Jacobs
3fc9d7cec4 matroskadec: sanitize track time_scale before using it
fix issue628

Originally committed as revision 15280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-09 11:23:48 +00:00
Aurelien Jacobs
a3467f8608 matroskadec: remove now useless vstream and is_video_key_frame
Originally committed as revision 15231 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-06 23:44:29 +00:00
Aurelien Jacobs
dbfb0e5f36 matroskadec: remove useless braces
Originally committed as revision 15230 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-06 23:43:24 +00:00
Aurelien Jacobs
24c3da1637 matroskadec: ensure that the timecode added to the index are is the one
of the actual keyframe block, and not the one of the start of the cluster
containing this block.

Originally committed as revision 15229 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-06 23:39:59 +00:00
Aurelien Jacobs
3eb9bfbb84 matroskadec: fix ASS subtitle track packets before emitting them
Matroska does some butchering when storing the ASS lines. The start and end
time are removed (because they are duplicated in the container).
The matroska_fix_ass_packet() function simply restore those start and end
time in ASS lines to ensure our ASS packets comply with the ASS spec.

Originally committed as revision 15211 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:26:12 +00:00
Aurelien Jacobs
62c24705c8 matroska: subtitle display duration must be stored in pkt->convergence_duration
Originally committed as revision 15206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:08:19 +00:00
Aurelien Jacobs
0dbddda397 matroskadec: cosmetics: indentation
Originally committed as revision 14995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 19:58:55 +00:00
Aurelien Jacobs
6bef5f9b96 matroskadec: seek to the last position known in the index before resorting to
full cluster parsing when seeking after the end of index

Originally committed as revision 14994 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-27 19:57:42 +00:00
Aurelien Jacobs
8e44312d3f matroskadec: index timestamps are supposed to be in the timebase of the stream
Originally committed as revision 14984 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-26 20:32:27 +00:00
Aurelien Jacobs
244ee48a82 matroskadec: unset matroska->done when seeking
just in case someone try to seek back after reaching the end of file

Originally committed as revision 14960 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 00:17:31 +00:00
Aurelien Jacobs
0f646a2233 matroskadec: full seeking support in index-less files
when trying to seek past the last index entry, just parse more clusters to add them to the index, until an index entry match the desired position

Originally committed as revision 14959 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 00:15:49 +00:00
Aurelien Jacobs
8bc98ba92b matroskadec: on the fly index construction for index-less files
each cluster that is read and that contains a video key frame is added
to the index

Originally committed as revision 14957 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-25 00:09:08 +00:00
Aurelien Jacobs
dfbbbdc0bf matroskadec: don't try to seek to negative timestamp
matroska timestamps are unsigned

Originally committed as revision 14956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 23:57:29 +00:00
Aurelien Jacobs
653fb2f80c matroskadec: move setting of matroska->done inside matroska_parse_cluster()
Originally committed as revision 14955 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 23:54:14 +00:00
Reimar Döffinger
7b571fd7a4 Mark "matroska" probe data string constant.
Originally committed as revision 14949 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 17:19:46 +00:00
Aurelien Jacobs
ba18b99ffa matroskadec: make aac_profiles array const
Originally committed as revision 14943 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 13:12:41 +00:00
Aurelien Jacobs
5972945197 convert every muxer/demuxer to write/read sample_aspect_ratio from/to
the corresponding AVStream instead of AVCodecContext

Originally committed as revision 14933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 23:43:20 +00:00
Aurelien Jacobs
28f27e0c0c matroskadec: fail cleanly when the required compression lib is not compiled in
Originally committed as revision 14870 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 23:08:07 +00:00
Aurelien Jacobs
dc3e0211ed matroskadec: stop parsing when skipping en element crossing over the end of file
Originally committed as revision 14869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 22:30:15 +00:00
Aurelien Jacobs
eb9cf50a74 matroska: add support for most variants of PCM
Originally committed as revision 14862 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:49:45 +00:00
Aurelien Jacobs
b49d17b77a matroskadec: handle EBML_ID_VOID and EBML_ID_CRC32 in a generic way
Originally committed as revision 14861 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-20 00:44:25 +00:00
Aurelien Jacobs
5df3cc6f80 matroskadec: list some more ebml IDs found in the wild and that we ignore
This avoid printing some warnings about unknow IDs while we in fact know
the IDs but just want to knowingly ignore them.

Originally committed as revision 14738 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 21:15:15 +00:00
Aurelien Jacobs
131f1cb2a9 matroskadec: parse available blocks even when cluster parsing failed
This way, we still read the few complete blocks out of a truncated
cluster at the end of a truncated file.

Originally committed as revision 14723 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 09:36:45 +00:00
Aurelien Jacobs
44015c56a6 matroskadec: add basic tags support (metadata)
Originally committed as revision 14672 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-08 23:50:38 +00:00
Aurelien Jacobs
00a3431cbb matroskadec: use av_freep(&x) instead of av_free(x);x=NULL
Originally committed as revision 14633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-06 00:21:10 +00:00
Anton Khirnov
b87025399c matroskadec: replace matroska_queue_packet with a single call to dynarray_add
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 14632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-06 00:17:47 +00:00
Diego Biurrun
5968d2dd1e misc spelling/grammar fixes
Originally committed as revision 14616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 08:28:57 +00:00
Aurelien Jacobs
cc70d14b3d matroskadec: remove useless num_streams
Originally committed as revision 14611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:43:01 +00:00
Aurelien Jacobs
88cca98947 matroskadec: expand useless ebml_read_element_id() wrapper
Originally committed as revision 14610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:58 +00:00
Aurelien Jacobs
33ac07ea08 matroskadec: simplify matroska_ebmlnum_sint()
Originally committed as revision 14609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:55 +00:00
Aurelien Jacobs
c1e01133f6 matroskadec: implement matroska_ebmlnum_uint() using ebml_read_num()
Originally committed as revision 14608 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:52 +00:00
Aurelien Jacobs
cc8be50637 matroska: expand useless define for MS compat codec id strings
Originally committed as revision 14607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:49 +00:00
Aurelien Jacobs
ff33c5c565 matroskadec: update copyright year and related comments
Originally committed as revision 14605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:43 +00:00
Aurelien Jacobs
737c40da20 matroskadec: reorder some functions in a more logical order
Originally committed as revision 14604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:39 +00:00
Aurelien Jacobs
1b6d23bbcb matroskadec: remove now useless wrapper ebml_read_element_length()
Originally committed as revision 14603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:36 +00:00
Aurelien Jacobs
66cfc3856c matroskadec: remove now useless wrapper ebml_read_seek()
Originally committed as revision 14602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:33 +00:00
Aurelien Jacobs
5c5373cea4 matroskadec: remove now useless peek_id
Originally committed as revision 14601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:29 +00:00
Aurelien Jacobs
3879763833 matroskadec: don't try to re-read already parsed ID in matroska_parse_cluster()
Originally committed as revision 14600 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:26 +00:00
Aurelien Jacobs
6314cca006 matroskadec: remove now unused parameter 'once' from ebml_parse_nest()
Originally committed as revision 14599 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:23 +00:00
Aurelien Jacobs
c4d3d9ba95 matroskadec: directly use ebml_parse() or ebml_parse_id() where it's enough
Originally committed as revision 14598 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:20 +00:00
Aurelien Jacobs
66a37e060b matroskadec: new ebml_parse() function, centralize ebml_read_element_id() calls
Originally committed as revision 14597 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:17 +00:00
Aurelien Jacobs
9bcb92ca6b matroskadec: rename ebml_parse() to ebml_parse_nest()
Originally committed as revision 14596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:13 +00:00
Aurelien Jacobs
c005b3f224 matroskadec: don't care about the number of bytes read by ebml_read_element_id()
Originally committed as revision 14595 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:10 +00:00
Aurelien Jacobs
592110c26c matroskadec: simplify check for hierarchy level
Originally committed as revision 14594 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:08 +00:00
Aurelien Jacobs
f7b9687cbb matroskadec: cosmetics: consistent style for function declarations
Originally committed as revision 14593 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:05 +00:00
Aurelien Jacobs
104be2404e matroskadec: Use string instead of char table as probe data comparison source.
Originally committed as revision 14592 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:02 +00:00
Aurelien Jacobs
eb05caccf2 matroskadec: use an EbmlBin as parameter to ebml_read_binary()
Originally committed as revision 14591 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:59 +00:00
Aurelien Jacobs
c6cd2b3d22 matroskadec: extract common code out of ebml_read_*()
Originally committed as revision 14590 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:55 +00:00
Aurelien Jacobs
ba5a1f99cc matroskadec: simplify/cleanup error logging in ebml_read_*()
Originally committed as revision 14589 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:52 +00:00
Aurelien Jacobs
54d8869d3a matroskadec: remove now useless expected_id parameter from ebml_parse()
Originally committed as revision 14588 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:50 +00:00
Aurelien Jacobs
4dc9e183dd matroskadec: expand useless ebml_peek_id() wrapper
Originally committed as revision 14587 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:46 +00:00
Aurelien Jacobs
3856e7c4aa matroskadec: remove unused levelup parameter from ebml_read_element_id()
Originally committed as revision 14586 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:43 +00:00
Aurelien Jacobs
44cea7651b matroskadec: extract read_level_up out of ebml_read_element_id
Originally committed as revision 14585 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:40 +00:00
Aurelien Jacobs
dfde36a33e matroskadec: remove useless levelup check
Originally committed as revision 14584 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:37 +00:00
Aurelien Jacobs
051ef5cef5 matroskadec: remove useless check for cluster presence
Originally committed as revision 14583 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:34 +00:00
Aurelien Jacobs
28ba69e097 matroskadec: cosmetics: placement of 'else if'
Originally committed as revision 14582 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:31 +00:00
Aurelien Jacobs
7eb9b068eb matroskadec: remove some useless empty lines
Originally committed as revision 14581 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:28 +00:00
Aurelien Jacobs
5efc8ec850 matroskadec: remove some useless or out of date comments
Originally committed as revision 14580 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:25 +00:00
Aurelien Jacobs
8f35a2c022 matroskadec: cosmetics
Originally committed as revision 14579 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:22 +00:00
Aurelien Jacobs
c171af9bd7 matroskadec: remove unused struct name
Originally committed as revision 14578 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:19 +00:00
Aurelien Jacobs
1e49ee4270 matroskadec: remove now unused context fields
Originally committed as revision 14577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:16 +00:00
Aurelien Jacobs
70109c0d48 matroskadec: remove useless initialization
Originally committed as revision 14576 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:13 +00:00
Aurelien Jacobs
16f97ab050 matroskadec: cosmetics: remove useless braces
Originally committed as revision 14575 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:10 +00:00
Aurelien Jacobs
3143f13345 matroskadec: remove some unused ebml funcs
Originally committed as revision 14574 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:07 +00:00
Aurelien Jacobs
209472b45d matroskadec: use generic parser to parse clusters
Originally committed as revision 14573 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:05 +00:00
Aurelien Jacobs
f06a488647 matroskadec: use generic parser inside matroska_execute_seekhead()
Originally committed as revision 14572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:41:01 +00:00
Aurelien Jacobs
ce6f28bd35 matroskadec: use generic parser to parse matroska from toplevel
Originally committed as revision 14571 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:58 +00:00
Aurelien Jacobs
9c25bafacb matroskadec: move context settings to matroska_read_header()
Originally committed as revision 14570 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:55 +00:00
Aurelien Jacobs
d88d806bd1 matroskadec: cosmetics: indentation of matroska_read_header()
Originally committed as revision 14569 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:52 +00:00
Aurelien Jacobs
9a9a3b03a6 matroskadec: move declaration to upper block
Originally committed as revision 14568 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:49 +00:00
Aurelien Jacobs
a636a56bf4 matroskadec: invert a test
Originally committed as revision 14567 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:46 +00:00
Aurelien Jacobs
4348571b1a matroskadec: cosmetics: indentation of matroska_execute_seekhead()
Originally committed as revision 14566 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:43 +00:00
Aurelien Jacobs
82113343a7 matroskadec: remove useless dummy_level variable
Originally committed as revision 14565 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:40 +00:00
Aurelien Jacobs
13b350a3a4 matroskadec: use generic parser to parse seekhead
Originally committed as revision 14564 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:36 +00:00
Aurelien Jacobs
8ecdab8f5a matroskadec: declare var where it's used
Originally committed as revision 14563 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:33 +00:00
Aurelien Jacobs
2cbc8811ab matroskadec: use generic parser to parse tracks
Originally committed as revision 14562 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:31 +00:00
Aurelien Jacobs
29708581fc matroskadec: use generic parser to parse info
Originally committed as revision 14561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:27 +00:00
Aurelien Jacobs
b414cb892e matroskadec: use generic parser to parse attachments
Originally committed as revision 14560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:24 +00:00
Aurelien Jacobs
6bbd7c7b79 matroskadec: use generic parser to parse chapters
Originally committed as revision 14559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:21 +00:00
Aurelien Jacobs
434d496a8a matroskadec: use generic parser to parse tags
Originally committed as revision 14558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:18 +00:00
Aurelien Jacobs
e5929fdf62 matroskadec: use generic parser to parse index
Originally committed as revision 14557 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:15 +00:00
Aurelien Jacobs
009ecd504e matroskadec: return pointer instead of index in matroska_find_track_by_num()
Originally committed as revision 14556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:12 +00:00
Aurelien Jacobs
28f450a992 matroskadec: create new AVStream earlier
Originally committed as revision 14555 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:09 +00:00
Aurelien Jacobs
fc4d335f6d matroskadec: store an AVStream pointer instead of a stream index
Originally committed as revision 14554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:06 +00:00
Aurelien Jacobs
6351132435 matroskadec: use generic ebml parser to parse ebml header
Originally committed as revision 14553 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:02 +00:00
Aurelien Jacobs
789ed100d7 matroskadec: add an ebml generic parser
Originally committed as revision 14552 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:40:00 +00:00
Aurelien Jacobs
6e35ae2a74 matroskadec: remove unused is_bframe flag
Originally committed as revision 14551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:39:55 +00:00
Aurelien Jacobs
4eff97439b matroskadec: simplify flag default
Originally committed as revision 14550 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:39:53 +00:00
Aurelien Jacobs
ead3006257 matroskadec: remove storage of various unused flags
Originally committed as revision 14549 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:39:50 +00:00
Aurelien Jacobs
5f8e022701 matroskadec: use more robust av_strlcpy() instead of strcpy()
Originally committed as revision 14548 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:39:47 +00:00
Aurelien Jacobs
f009e36f75 matroska: add support for V_QUICKTIME track type
Originally committed as revision 14429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 15:11:04 +00:00
Evgeniy Stepanov
5e8477b011 matroskadec: decode track private data if needed
original patch by Evgeniy Stepanov  eugeni.stepanov _at_ gmail _dot_ com

Originally committed as revision 13892 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 15:52:28 +00:00
Evgeniy Stepanov
935ec5a1d5 matroskadec: move buffer decoding code to a separate function
original patch by Evgeniy Stepanov  eugeni.stepanov _at_ gmail.com

Originally committed as revision 13891 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 15:49:44 +00:00
Aurelien Jacobs
51e1cc16d3 matroskadec: fix a memory leak
Originally committed as revision 13890 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-22 15:46:36 +00:00
Aurelien Jacobs
ded4241bb0 matroskadec: remove some useless code
Originally committed as revision 13783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-16 23:11:02 +00:00
Joakim Plate
de6a9a2673 matroskadec: set cur_dts after seek
patch by elupus   elupus _at_ ecce _dot_ se

Originally committed as revision 13748 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-11 19:54:17 +00:00
Aurelien Jacobs
03b9d94e86 matroskadec: remove some useless code
Originally committed as revision 13659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-04 23:24:55 +00:00
Aurelien Jacobs
e9b56825be cosmetics: indentation
Originally committed as revision 13658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-04 23:15:08 +00:00
Aurelien Jacobs
fc4738ae96 matroskadec: don't remove dummy level when none was added
Originally committed as revision 13657 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-04 23:11:47 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Aurelien Jacobs
401cdd519c adjust comment to reality
Originally committed as revision 13647 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 15:14:21 +00:00
Aurelien Jacobs
94f6c011d6 matroskadec: sane default value for track->time_scale
Originally committed as revision 13646 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 15:09:30 +00:00
Aurelien Jacobs
ff2c222c37 matroskadec: fix potential mem leak
may or may not fix CID134 and CID135

Originally committed as revision 13636 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 23:37:14 +00:00
Aurelien Jacobs
34ae40971b matroskadec: avoid potential mem leak
fix CID120

Originally committed as revision 13635 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 23:27:14 +00:00
Aurelien Jacobs
fe53fa253f reorganize matroska_add_stream() to fix potential mem leak and buffer overflow
fix CID44

Originally committed as revision 13634 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 23:07:41 +00:00
Aurelien Jacobs
4b3dc529f5 matroskadec: move ARRAY_SIZE() macro at top of the file
Originally committed as revision 13633 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-02 23:01:14 +00:00
Aurelien Jacobs
934b910ba0 matroskadec: use the proper timestamp scaling for index entries
Originally committed as revision 13602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-01 14:41:53 +00:00
Anton Khirnov
7ff9708585 matroskadec: read TrackTimecodeScale and set timebase accordingly
patch by Anton Khirnov   wyskas _at_ gmail _dot_ com

Originally committed as revision 13601 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-01 13:54:11 +00:00