17980 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Ronald S. Bultje
b44b41633f get_bits: add HAVE_BITS_REMAINING macro. 2012-02-24 07:28:14 -08:00
Michael Niedermayer
388b7ac07a Revert "Set channel layout in flac decoder."
This reverts commit 2ef2496cd19eb833f4ad22a5051c11be80d09598.

Conflicts:

	libavcodec/Makefile

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 04:22:20 +01:00
Michael Niedermayer
003e024bfb Revert "Fix channel layout for some stereo flac files."
This reverts commit d2ee3c913d6fec3cb8c0c1b67347007c7cd604e1.
2012-02-24 04:21:16 +01:00
Michael Niedermayer
3be7917894 proresenc_anatoliy: switch to encode2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 04:13:27 +01:00
Michael Niedermayer
73f8f7e839 msvideo1enc: switch to encode2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 04:13:01 +01:00
Michael Niedermayer
8060403011 j2kenc: switch to encode2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 04:12:40 +01:00
Michael Niedermayer
131698af55 flashsv2enc: switch to encode2()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 03:30:42 +01:00
Michael Niedermayer
e2cc39b609 Merge remote-tracking branch 'qatar/master'
* qatar/master: (40 commits)
  swf: check return values for av_get/new_packet().
  wavpack: Don't shift minclip/maxclip
  rtpenc: Expose the max packet size via an avoption
  rtpenc: Move max_packet_size to a context variable
  rtpenc: Add an option for not sending RTCP packets
  lavc: drop encode() support for video.
  snowenc: switch to encode2().
  snowenc: don't abuse input picture for storing information.
  a64multienc: switch to encode2().
  a64multienc: don't write into output buffer when there's no output.
  libxvid: switch to encode2().
  tiffenc: switch to encode2().
  tiffenc: properly forward error codes in encode_frame().
  lavc: drop libdirac encoder.
  gifenc: switch to encode2().
  libvpxenc: switch to encode2().
  flashsvenc: switch to encode2().
  Remove libpostproc.
  lcl: don't overwrite input memory.
  swscale: take first/lastline over/underflows into account for MMX.
  ...

Conflicts:
	.gitignore
	Makefile
	cmdutils.c
	configure
	doc/APIchanges
	libavcodec/Makefile
	libavcodec/allcodecs.c
	libavcodec/libdiracenc.c
	libavcodec/libxvidff.c
	libavcodec/qtrleenc.c
	libavcodec/tiffenc.c
	libavcodec/utils.c
	libavformat/mov.c
	libavformat/movenc.c
	libpostproc/Makefile
	libpostproc/postprocess.c
	libpostproc/postprocess.h
	libpostproc/postprocess_altivec_template.c
	libpostproc/postprocess_internal.h
	libpostproc/postprocess_template.c
	libswscale/swscale.c
	libswscale/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-24 02:57:18 +01:00
Michael Niedermayer
32e74395a8 Revert "Improve decoding quality for lossy wavpack."
This has been implemented more correctly.

This reverts commit a915618a29f3f4197832151a4ed03ccdd585f9cf.
2012-02-24 01:26:38 +01:00
Alex Converse
447363870f tiff: Prevent overreads in the type_sizes array.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-23 16:23:51 -08:00
Alex Converse
e32548d133 tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned.
TIFF v6.0 (unimplemented) adds signed equivalents.
2012-02-23 16:23:51 -08:00
Christophe GISQUET
2784d18791 SBR DSP x86: implement SSE sbr_hf_g_filt
Unrolling the main loop to process, instead of 4 elements:
- 8: minor gain of 2 cycles (not worth the extra object size)
- 2: loss of 8 cycles.

Assigning STEP to a register is a loss. Output address (Y) is almost always
unaligned.

Timings:
- C (32/64 bits): 117/109 cycles
- SSE: 57 cycles

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-23 15:50:09 -08:00
Christophe GISQUET
34454c761f SBR DSP x86: implement SSE sbr_sum_square_sse
The 32bits targets have been compiled with -mfpmath=sse for proper reference.
sbr_sum_square C  /32bits: 82c (unrolled)/102c
               C  /64bits: 69c (unrolled)/82c
               SSE/32bits: 42c
               SSE/64bits: 31c

Use of SSE4.1 dpps to perform the final sum is slower.
Not unrolling to perform 8 operations in a loop yields 10 more cycles.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-23 15:50:06 -08:00
Christophe GISQUET
2e74a5abc2 SBR DSP: use intptr_t for the ixh parameter.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-02-23 15:48:40 -08:00
Paul B Mahol
1b93244381 v408enc: switch to encode2()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-23 23:42:04 +01:00
Paul B Mahol
1f801f3a70 yuv4enc: switch to encode2()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-23 23:40:51 +01:00
Paul B Mahol
d1ede561a6 v308enc: switch to encode2()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-02-23 23:38:20 +01:00
Derek Buitenhuis
480b133e6f wavpack: Don't shift minclip/maxclip
Since we are clipping before we shift the values to
16 or 32 bits, we should not shift the min/max clip
values to compensate.

Fixes 8 and 24 bit lossy decoding.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-23 20:43:39 +01:00
Anton Khirnov
ff311c0918 lavc: drop encode() support for video.
All video encoders have been converted to encode2(), all new encoders
should also use only encode2().
2012-02-23 20:26:26 +01:00
Anton Khirnov
171273fec8 snowenc: switch to encode2(). 2012-02-23 20:26:14 +01:00
Anton Khirnov
8d3348c2c4 snowenc: don't abuse input picture for storing information. 2012-02-23 20:26:04 +01:00
Anton Khirnov
7340008f18 a64multienc: switch to encode2().
We have no decoder, so cannot test if the output is decodable.
2012-02-23 19:56:55 +01:00
Anton Khirnov
cfc6ab3199 a64multienc: don't write into output buffer when there's no output. 2012-02-23 19:56:45 +01:00
Anton Khirnov
4da6d194e5 libxvid: switch to encode2(). 2012-02-23 19:55:23 +01:00
Anton Khirnov
760b004086 tiffenc: switch to encode2(). 2012-02-23 19:53:20 +01:00
Anton Khirnov
62acb4937e tiffenc: properly forward error codes in encode_frame(). 2012-02-23 19:52:08 +01:00
Anton Khirnov
2257f66ec5 lavc: drop libdirac encoder.
Libschroedinger is the preferred way to encode dirac video now, it
produces better output and has a nicer API.
2012-02-23 19:50:46 +01:00
Anton Khirnov
577fed3b7c gifenc: switch to encode2(). 2012-02-23 19:50:46 +01:00
Anton Khirnov
d8f3365fb0 libvpxenc: switch to encode2(). 2012-02-23 19:50:46 +01:00
Anton Khirnov
0ecf54f9dc flashsvenc: switch to encode2(). 2012-02-23 19:50:46 +01:00
Ronald S. Bultje
01cb62aba2 lcl: don't overwrite input memory.
If the PNG filter is enabled, a PNG-style filter will run over the
input buffer, writing into the buffer. Therefore, if no zlib compression
was used, ensure that we copy into a temporary buffer, otherwise we
overwrite user-provided input data.
2012-02-23 10:31:46 -08:00