1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

38264 Commits

Author SHA1 Message Date
Michael Niedermayer
305e4b35ea Merge remote-tracking branch 'qatar/master'
* qatar/master: (34 commits)
  mlp_parser: fix the channel mask value used for the top surround channel
  vorbisenc: check all allocations for failure
  roqaudioenc: return AVERROR codes instead of -1
  roqaudioenc: set correct bit rate
  roqaudioenc: use AVCodecContext.frame_size correctly.
  roqaudioenc: remove unneeded sample_fmt check
  ra144enc: use int16_t* for input samples rather than void*
  ra144enc: set AVCodecContext.coded_frame
  ra144enc: remove unneeded sample_fmt check
  nellymoserenc: set AVCodecContext.coded_frame
  nellymoserenc: improve error checking in encode_init()
  nellymoserenc: return AVERROR codes instead of -1
  libvorbis: improve error checking in oggvorbis_encode_init()
  mpegaudioenc: return AVERROR codes instead of -1
  libfaac: improve error checking and handling in Faac_encode_init()
  avutil: add AVERROR_UNKNOWN
  check for coded_frame allocation failure in several audio encoders
  audio encoders: do not set coded_frame->key_frame.
  g722enc: check for trellis data allocation error
  libspeexenc: export encoder delay through AVCodecContext.delay
  ...

Conflicts:
	doc/APIchanges
	libavcodec/avcodec.h
	libavcodec/fraps.c
	libavcodec/kgv1dec.c
	libavcodec/libfaac.c
	libavcodec/libgsm.c
	libavcodec/libvorbis.c
	libavcodec/mlp_parser.c
	libavcodec/roqaudioenc.c
	libavcodec/vorbisenc.c
	libavutil/avutil.h
	libavutil/error.c
	libavutil/error.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-26 05:11:21 +01:00
Tim Walker
0a9efe4c6e mlp_parser: fix the channel mask value used for the top surround channel
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-25 17:24:43 -05:00
Justin Ruggles
be8d812c96 vorbisenc: check all allocations for failure 2012-02-25 11:49:43 -05:00
Justin Ruggles
f7a2e12f2a roqaudioenc: return AVERROR codes instead of -1 2012-02-25 11:49:43 -05:00
Justin Ruggles
3fa9a999c1 roqaudioenc: set correct bit rate 2012-02-25 11:49:43 -05:00
Justin Ruggles
cf57c78b77 roqaudioenc: use AVCodecContext.frame_size correctly.
It is not allowed to change mid-stream like it does currently. Instead we need
to buffer the first 8 frames before returning them as a single packet, then
only return single frame packets after that.
2012-02-25 11:49:43 -05:00
Justin Ruggles
56279f1d61 roqaudioenc: remove unneeded sample_fmt check 2012-02-25 11:49:43 -05:00
Justin Ruggles
4b7f8838e8 ra144enc: use int16_t* for input samples rather than void* 2012-02-25 11:49:43 -05:00
Justin Ruggles
03359ebcf9 ra144enc: set AVCodecContext.coded_frame 2012-02-25 11:49:43 -05:00
Justin Ruggles
a65f7c96fc ra144enc: remove unneeded sample_fmt check 2012-02-25 11:49:42 -05:00
Justin Ruggles
928672f1f1 nellymoserenc: set AVCodecContext.coded_frame 2012-02-25 11:49:42 -05:00
Justin Ruggles
370b44cda2 nellymoserenc: improve error checking in encode_init() 2012-02-25 11:49:42 -05:00
Justin Ruggles
333506c33f nellymoserenc: return AVERROR codes instead of -1 2012-02-25 11:49:42 -05:00
Justin Ruggles
6f600ab354 libvorbis: improve error checking in oggvorbis_encode_init() 2012-02-25 11:49:42 -05:00
Justin Ruggles
be60eec668 mpegaudioenc: return AVERROR codes instead of -1 2012-02-25 11:49:42 -05:00
Justin Ruggles
7a8cbb39f6 libfaac: improve error checking and handling in Faac_encode_init() 2012-02-25 11:49:42 -05:00
Justin Ruggles
c9bca80132 avutil: add AVERROR_UNKNOWN
Useful to return instead of -1 when the cause of the error is unknown,
typically from an external library.
2012-02-25 11:49:41 -05:00
Justin Ruggles
a8bdf2405c check for coded_frame allocation failure in several audio encoders 2012-02-25 11:49:41 -05:00
Justin Ruggles
255ad8881d audio encoders: do not set coded_frame->key_frame.
it is already set in avcodec_alloc_frame()
2012-02-25 11:49:41 -05:00
Justin Ruggles
8e2555d3b1 g722enc: check for trellis data allocation error 2012-02-25 11:49:41 -05:00
Justin Ruggles
ca300d938b libspeexenc: export encoder delay through AVCodecContext.delay 2012-02-25 11:49:41 -05:00
Justin Ruggles
7600e5c5aa avcodec: document the use of AVCodecContext.delay for audio encoders 2012-02-25 11:49:41 -05:00
Ronald S. Bultje
6c4c27adb6 kgv1: release reference picture on size change.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-25 07:53:44 -08:00
Ronald S. Bultje
cd40c31ee9 matroska: don't overwrite string values until read/alloc was succesful.
This prevents certain tags with a default value assigned to them (as per
the EBML syntax elements) from ever being assigned a NULL value. Other
parts of the code rely on these being non-NULL (i.e. they don't check for
NULL before e.g. using the string in strcmp() or similar), and thus in
effect this prevents crashes when reading of such specific tags fails,
either because of low memory or because of targeted file corruption.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-25 07:53:23 -08:00
Anton Khirnov
03ca0a5b30 lavc: merge two if()s with the same condition. 2012-02-25 07:48:52 +01:00
Anton Khirnov
d55fa6f9cb lavc: factorize setting got_packet_ptr in avcodec_encode_video2() 2012-02-25 07:48:46 +01:00
Anton Khirnov
52953d61ca lavc: signal no output when a NULL frame is passed to audio encoder without delay 2012-02-25 07:48:36 +01:00
Paul B Mahol
99cff417f3 xwdenc: fix monow encoding
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-25 07:45:06 +01:00
Michael Niedermayer
8e03912133 mpegaudiodec: dont memcpy() more than needed.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 06:47:57 +01:00
Paul B Mahol
159a2436b0 fate: add tests for cdxl video
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-25 00:18:24 -05:00
Paul B Mahol
904817cb9f cdxl: fix ham6/8 on big endian
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-25 00:18:14 -05:00
Michael Niedermayer
b008ac18bb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  docs: use -bsf:[vas] instead of -[vas]bsf.
  mpegaudiodec: Prevent premature clipping of mp3 input buffer.
  lavf: move the packet keyframe setting code.
  oggenc: free comment header for all codecs
  lcl: error out if uncompressed input buffer is smaller than framesize.
  mjpeg: abort decoding if packet is too large.
  golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.
  get_bits: add HAVE_BITS_REMAINING macro.
  lavf/output-example: use new audio encoding API correctly.
  lavf/output-example: more proper usage of the new API.
  tiff: Prevent overreads in the type_sizes array.
  tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned.
  apetag: do not leak memory if avio_read() fails
  apetag: propagate errors.
  SBR DSP x86: implement SSE sbr_hf_g_filt
  SBR DSP x86: implement SSE sbr_sum_square_sse
  SBR DSP: use intptr_t for the ixh parameter.

Conflicts:
	doc/bitstream_filters.texi
	doc/examples/muxing.c
	doc/ffmpeg.texi
	libavcodec/golomb.h
	libavcodec/x86/Makefile
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 04:00:43 +01:00
Michael Niedermayer
7b9d8703f3 adpcmdec: fix "warning: array subscript is above array bounds"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 02:50:58 +01:00
Michael Niedermayer
3d3b603f7f a64multienc: fix "warning: buf may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 02:41:42 +01:00
Michael Niedermayer
418403662b rmdec: fix "warning: format %d expects argument of type int, but argument 7 has type int64_t"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 02:33:30 +01:00
Michael Niedermayer
4dbdd3ec6f mp3enc: fix "warning: best_bitrate_idx may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 02:17:37 +01:00
Michael Niedermayer
1e44dda825 flvdec: fix "libavformat/flvdec.c:195:29: warning: variable size1 set but not used"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 02:12:09 +01:00
Derek Buitenhuis
b93c91579d fate: Overhaul WavPack coverage
WavPack has a comprehensive test suite, and a bunch
of corner cases.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-25 01:06:19 +01:00
Ronald S. Bultje
2bb628f870 swscale: fix another integer overflow at large dimensions/rescales. 2012-02-24 15:39:55 -08:00
Justin Ruggles
19adb0bc2d vorbisdec: add a flush() function
clear MDCT overlap buffer and reset previous window mode when seeking
2012-02-24 17:37:25 -05:00
Ronald S. Bultje
830f70442a fraps: release reference buffer on pix_fmt change.
Prevents crash when trying to copy from a non-existing plane in e.g.
a RGB32 reference image to a YUV420P target image

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 14:28:15 -08:00
Ronald S. Bultje
87840eeb71 avcodec: disallow reget_buffer() if pix_fmt changed. 2012-02-24 14:28:15 -08:00
Ronald S. Bultje
33cd32b389 kgv1: use avctx->get/release_buffer().
Also fixes crashes on corrupt bitstreams.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 14:28:15 -08:00
John Van Sickle
d6a77e2b97 docs: use -bsf:[vas] instead of -[vas]bsf.
The latter syntax is now invalid.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-24 22:04:11 +01:00
Dale Curtis
b716542691 mpegaudiodec: Prevent premature clipping of mp3 input buffer.
Instead of clipping extrasize based on EXTRABYTES, clip based on the
amount of buffer actually left. Without this fix, there are warbles
and other distortions in the test case below.

http://kevincennis.com/mix/assets/sounds/1901_voxfx.mp3
2012-02-24 13:47:04 -05:00
Anton Khirnov
655b24c01c lavf: move the packet keyframe setting code.
compute_pkt_fields() is for unreliable estimates or guessing. The
keyframe information from the parser is (at least in theory) reliable,
so it should be used even when the other guessing is disabled with the
AVFMT_FLAG_NOFILLIN flag.

Therefore, move setting the packet keyframe flag based on parser
information from compute_pkt_fields() to read_frame_internal().
2012-02-24 19:43:02 +01:00
Justin Ruggles
9677247b0a oggenc: free comment header for all codecs
fixes a memleak for Vorbis and Theora, where the comment header from
avpriv_split_xiph_headers() is replaced by a buffer that must be freed
separately.
2012-02-24 13:15:41 -05:00
Ronald S. Bultje
be129271ea lcl: error out if uncompressed input buffer is smaller than framesize.
This prevents crashes when trying to read beyond the end of the buffer
while decoding frame data.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 07:28:57 -08:00
Ronald S. Bultje
ab492ca2ab mjpeg: abort decoding if packet is too large.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 07:28:43 -08:00
Ronald S. Bultje
46b3fbc30b golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-24 07:28:33 -08:00