ffmpeg.git
8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Mon, 27 Feb 2012 01:33:48 +0000 (02:33 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  lavf: don't guess r_frame_rate from either stream or codec timebase.
  avconv: set discard on input streams automatically.
  Fix parser not to clobber has_b_frames when extradata is set.
  lavf: don't set codec timebase in avformat_find_stream_info().
  avconv: saner output video timebase.
  rawdec: set timebase to 1/fps.
  avconv: refactor vsync code.
  FATE: remove a bunch of useless -vsync 0
  cdxl: bit line plane arrangement support
  cdxl: remove early check for bpp
  cdxl: set pix_fmt PAL8 only if palette is available

Conflicts:
ffmpeg.c
libavcodec/h264_parser.c
libavformat/rawdec.c
tests/fate/demux.mak
tests/fate/ea.mak
tests/fate/h264.mak
tests/fate/prores.mak
tests/fate/video.mak
tests/ref/fate/bethsoft-vid
tests/ref/fate/creatureshock-avs
tests/ref/fate/ea-cmv
tests/ref/fate/interplay-mve-16bit
tests/ref/fate/interplay-mve-8bit
tests/ref/fate/nuv
tests/ref/fate/prores-alpha
tests/ref/fate/qtrle-16bit
tests/ref/fate/qtrle-1bit
tests/ref/fate/real-rv40
tests/ref/fate/rpza
tests/ref/fate/wmv8-drm

Merged-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoeval: add root() to solve f(x)=0
Michael Niedermayer [Tue, 21 Feb 2012 21:30:35 +0000 (22:30 +0100)]
eval: add root() to solve f(x)=0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoeval: Check that single parameter functions dont get a second param.
Michael Niedermayer [Wed, 22 Feb 2012 21:18:50 +0000 (22:18 +0100)]
eval: Check that single parameter functions dont get a second param.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoeval: Allow specifying the variable id.
Michael Niedermayer [Wed, 22 Feb 2012 16:21:04 +0000 (17:21 +0100)]
eval: Allow specifying the variable id.

Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agolibavfilter/libmpcodecs: add vf_pp from current mplayer svn
Michael Niedermayer [Sun, 26 Feb 2012 14:14:36 +0000 (15:14 +0100)]
libavfilter/libmpcodecs: add vf_pp from current mplayer svn

This will allow us to do regression tests on libpostproc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agocdxl demux: do not create packets with uninitialized data at EOF.
Reimar Döffinger [Sun, 26 Feb 2012 16:08:38 +0000 (17:08 +0100)]
cdxl demux: do not create packets with uninitialized data at EOF.

Fixes a failure in cdxl-pal8 test for the valgrind FATE instance.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agolavf: don't guess r_frame_rate from either stream or codec timebase.
Anton Khirnov [Mon, 28 Nov 2011 20:57:06 +0000 (21:57 +0100)]
lavf: don't guess r_frame_rate from either stream or codec timebase.

Neither of those is guaranteed to be connected to framerate in any way
(if it even exists).

Fixes bug 56.

8 years agoavconv: set discard on input streams automatically.
Anton Khirnov [Fri, 24 Feb 2012 13:14:24 +0000 (14:14 +0100)]
avconv: set discard on input streams automatically.

8 years agoFix parser not to clobber has_b_frames when extradata is set.
Reinhard Tartler [Sun, 26 Feb 2012 09:50:45 +0000 (10:50 +0100)]
Fix parser not to clobber has_b_frames when extradata is set.

Because in contrast to the decoder, the parser does not setup low_delay.
The code in parse_nal_units would always end up setting has_b_frames
to "1", except when stream is explicitly marked as low delay.
Since the parser itself would create 'extradata', simply reopening
the parser would cause this.

This happens for instance in estimate_timings_from_pts(), which causes the
parser to be reopened on the same stream.

This fixes Libav #22 and FFmpeg (trac) #360

CC: libav-stable@libav.org
Based on a patch by Reimar Döffinger <Reimar.Doeffinger@gmx.de>
(commit 31ac0ac29b6bba744493f7d1040757a3f51b9ad7)

Comments and description adapted by Reinhard Tartler.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
8 years agolavf: don't set codec timebase in avformat_find_stream_info().
Anton Khirnov [Mon, 28 Nov 2011 08:31:48 +0000 (09:31 +0100)]
lavf: don't set codec timebase in avformat_find_stream_info().

It's not supposed to be set outside of lavc.

8 years agoavconv: saner output video timebase.
Anton Khirnov [Tue, 7 Feb 2012 10:03:33 +0000 (11:03 +0100)]
avconv: saner output video timebase.

r_frame_rate should in theory have something to do with input framerate,
but in practice it is often made up from thin air by lavf. So unless we
are targeting a constant output framerate, it's better to just use input
stream timebase.

Brings back dropped frames in nuv and cscd tests introduced in
cd1ad18a6539bd7fc2dc4c1740fbcbd498c0c0a2

8 years agorawdec: set timebase to 1/fps.
Anton Khirnov [Tue, 7 Feb 2012 07:13:05 +0000 (08:13 +0100)]
rawdec: set timebase to 1/fps.

8 years agoavconv: refactor vsync code.
Anton Khirnov [Mon, 6 Feb 2012 20:47:41 +0000 (21:47 +0100)]
avconv: refactor vsync code.

No functional changes, just make it more readable.

8 years agoFATE: remove a bunch of useless -vsync 0
Anton Khirnov [Fri, 24 Feb 2012 18:24:27 +0000 (19:24 +0100)]
FATE: remove a bunch of useless -vsync 0

No changes in the test results.

8 years agocdxl: bit line plane arrangement support
Paul B Mahol [Sat, 25 Feb 2012 17:16:41 +0000 (17:16 +0000)]
cdxl: bit line plane arrangement support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agocdxl: remove early check for bpp
Paul B Mahol [Sat, 25 Feb 2012 17:16:40 +0000 (17:16 +0000)]
cdxl: remove early check for bpp

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agocdxl: set pix_fmt PAL8 only if palette is available
Paul B Mahol [Sat, 25 Feb 2012 17:16:39 +0000 (17:16 +0000)]
cdxl: set pix_fmt PAL8 only if palette is available

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sun, 26 Feb 2012 03:47:56 +0000 (04:47 +0100)]
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>
8 years agomlp_parser: fix the channel mask value used for the top surround channel
Tim Walker [Sat, 25 Feb 2012 21:33:48 +0000 (22:33 +0100)]
mlp_parser: fix the channel mask value used for the top surround channel

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agovorbisenc: check all allocations for failure
Justin Ruggles [Thu, 23 Feb 2012 00:23:18 +0000 (19:23 -0500)]
vorbisenc: check all allocations for failure

8 years agoroqaudioenc: return AVERROR codes instead of -1
Justin Ruggles [Wed, 22 Feb 2012 23:33:39 +0000 (18:33 -0500)]
roqaudioenc: return AVERROR codes instead of -1

8 years agoroqaudioenc: set correct bit rate
Justin Ruggles [Wed, 22 Feb 2012 23:32:19 +0000 (18:32 -0500)]
roqaudioenc: set correct bit rate

8 years agoroqaudioenc: use AVCodecContext.frame_size correctly.
Justin Ruggles [Wed, 22 Feb 2012 21:20:49 +0000 (16:20 -0500)]
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.

8 years agoroqaudioenc: remove unneeded sample_fmt check
Justin Ruggles [Wed, 22 Feb 2012 18:40:03 +0000 (13:40 -0500)]
roqaudioenc: remove unneeded sample_fmt check

8 years agora144enc: use int16_t* for input samples rather than void*
Justin Ruggles [Wed, 22 Feb 2012 18:35:38 +0000 (13:35 -0500)]
ra144enc: use int16_t* for input samples rather than void*

8 years agora144enc: set AVCodecContext.coded_frame
Justin Ruggles [Wed, 22 Feb 2012 18:29:09 +0000 (13:29 -0500)]
ra144enc: set AVCodecContext.coded_frame

8 years agora144enc: remove unneeded sample_fmt check
Justin Ruggles [Wed, 22 Feb 2012 18:10:38 +0000 (13:10 -0500)]
ra144enc: remove unneeded sample_fmt check

8 years agonellymoserenc: set AVCodecContext.coded_frame
Justin Ruggles [Tue, 21 Feb 2012 23:47:50 +0000 (18:47 -0500)]
nellymoserenc: set AVCodecContext.coded_frame

8 years agonellymoserenc: improve error checking in encode_init()
Justin Ruggles [Tue, 21 Feb 2012 23:46:00 +0000 (18:46 -0500)]
nellymoserenc: improve error checking in encode_init()

8 years agonellymoserenc: return AVERROR codes instead of -1
Justin Ruggles [Tue, 21 Feb 2012 23:42:32 +0000 (18:42 -0500)]
nellymoserenc: return AVERROR codes instead of -1

8 years agolibvorbis: improve error checking in oggvorbis_encode_init()
Justin Ruggles [Tue, 21 Feb 2012 23:40:22 +0000 (18:40 -0500)]
libvorbis: improve error checking in oggvorbis_encode_init()

8 years agompegaudioenc: return AVERROR codes instead of -1
Justin Ruggles [Tue, 21 Feb 2012 20:27:23 +0000 (15:27 -0500)]
mpegaudioenc: return AVERROR codes instead of -1

8 years agolibfaac: improve error checking and handling in Faac_encode_init()
Justin Ruggles [Thu, 16 Feb 2012 00:06:34 +0000 (19:06 -0500)]
libfaac: improve error checking and handling in Faac_encode_init()

8 years agoavutil: add AVERROR_UNKNOWN
Justin Ruggles [Sat, 25 Feb 2012 04:27:14 +0000 (23:27 -0500)]
avutil: add AVERROR_UNKNOWN

Useful to return instead of -1 when the cause of the error is unknown,
typically from an external library.

8 years agocheck for coded_frame allocation failure in several audio encoders
Justin Ruggles [Thu, 16 Feb 2012 00:26:09 +0000 (19:26 -0500)]
check for coded_frame allocation failure in several audio encoders

8 years agoaudio encoders: do not set coded_frame->key_frame.
Justin Ruggles [Thu, 16 Feb 2012 00:11:06 +0000 (19:11 -0500)]
audio encoders: do not set coded_frame->key_frame.

it is already set in avcodec_alloc_frame()

8 years agog722enc: check for trellis data allocation error
Justin Ruggles [Mon, 20 Feb 2012 18:12:37 +0000 (13:12 -0500)]
g722enc: check for trellis data allocation error

8 years agolibspeexenc: export encoder delay through AVCodecContext.delay
Justin Ruggles [Fri, 10 Feb 2012 02:03:02 +0000 (21:03 -0500)]
libspeexenc: export encoder delay through AVCodecContext.delay

8 years agoavcodec: document the use of AVCodecContext.delay for audio encoders
Justin Ruggles [Mon, 20 Feb 2012 21:52:27 +0000 (16:52 -0500)]
avcodec: document the use of AVCodecContext.delay for audio encoders

8 years agokgv1: release reference picture on size change.
Ronald S. Bultje [Sat, 25 Feb 2012 00:27:53 +0000 (16:27 -0800)]
kgv1: release reference picture on size change.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agomatroska: don't overwrite string values until read/alloc was succesful.
Ronald S. Bultje [Sat, 25 Feb 2012 00:12:18 +0000 (16:12 -0800)]
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
8 years agolavc: merge two if()s with the same condition.
Anton Khirnov [Fri, 24 Feb 2012 12:07:57 +0000 (13:07 +0100)]
lavc: merge two if()s with the same condition.

8 years agolavc: factorize setting got_packet_ptr in avcodec_encode_video2()
Anton Khirnov [Fri, 24 Feb 2012 12:06:23 +0000 (13:06 +0100)]
lavc: factorize setting got_packet_ptr in avcodec_encode_video2()

8 years agolavc: signal no output when a NULL frame is passed to audio encoder without delay
Anton Khirnov [Fri, 24 Feb 2012 12:02:05 +0000 (13:02 +0100)]
lavc: signal no output when a NULL frame is passed to audio encoder without delay

8 years agoxwdenc: fix monow encoding
Paul B Mahol [Fri, 24 Feb 2012 04:53:26 +0000 (04:53 +0000)]
xwdenc: fix monow encoding

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agompegaudiodec: dont memcpy() more than needed.
Michael Niedermayer [Sat, 25 Feb 2012 05:47:57 +0000 (06:47 +0100)]
mpegaudiodec: dont memcpy() more than needed.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agofate: add tests for cdxl video
Paul B Mahol [Tue, 21 Feb 2012 21:44:21 +0000 (21:44 +0000)]
fate: add tests for cdxl video

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agocdxl: fix ham6/8 on big endian
Paul B Mahol [Tue, 21 Feb 2012 20:41:14 +0000 (20:41 +0000)]
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>
8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sat, 25 Feb 2012 03:00:43 +0000 (04:00 +0100)]
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>
8 years agoadpcmdec: fix "warning: array subscript is above array bounds"
Michael Niedermayer [Sat, 25 Feb 2012 01:50:58 +0000 (02:50 +0100)]
adpcmdec: fix "warning: array subscript is above array bounds"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoa64multienc: fix "warning: buf may be used uninitialized in this function"
Michael Niedermayer [Sat, 25 Feb 2012 01:41:42 +0000 (02:41 +0100)]
a64multienc: fix "warning: buf may be used uninitialized in this function"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agormdec: fix "warning: format %d expects argument of type int, but argument 7 has type...
Michael Niedermayer [Sat, 25 Feb 2012 01:33:30 +0000 (02:33 +0100)]
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>
8 years agomp3enc: fix "warning: best_bitrate_idx may be used uninitialized in this function"
Michael Niedermayer [Sat, 25 Feb 2012 01:17:37 +0000 (02:17 +0100)]
mp3enc: fix "warning: best_bitrate_idx may be used uninitialized in this function"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoflvdec: fix "libavformat/flvdec.c:195:29: warning: variable size1 set but not used"
Michael Niedermayer [Sat, 25 Feb 2012 01:12:09 +0000 (02:12 +0100)]
flvdec: fix "libavformat/flvdec.c:195:29: warning: variable size1 set but not used"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agofate: Overhaul WavPack coverage
Derek Buitenhuis [Fri, 24 Feb 2012 17:22:38 +0000 (12:22 -0500)]
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>
8 years agoswscale: fix another integer overflow at large dimensions/rescales.
Ronald S. Bultje [Fri, 24 Feb 2012 23:32:25 +0000 (15:32 -0800)]
swscale: fix another integer overflow at large dimensions/rescales.

8 years agovorbisdec: add a flush() function
Justin Ruggles [Tue, 24 Jan 2012 23:10:28 +0000 (18:10 -0500)]
vorbisdec: add a flush() function

clear MDCT overlap buffer and reset previous window mode when seeking

8 years agofraps: release reference buffer on pix_fmt change.
Ronald S. Bultje [Fri, 24 Feb 2012 22:11:04 +0000 (14:11 -0800)]
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
8 years agoavcodec: disallow reget_buffer() if pix_fmt changed.
Ronald S. Bultje [Fri, 17 Feb 2012 22:48:57 +0000 (14:48 -0800)]
avcodec: disallow reget_buffer() if pix_fmt changed.

8 years agokgv1: use avctx->get/release_buffer().
Ronald S. Bultje [Thu, 29 Dec 2011 17:07:32 +0000 (09:07 -0800)]
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
8 years agodocs: use -bsf:[vas] instead of -[vas]bsf.
John Van Sickle [Fri, 24 Feb 2012 18:46:48 +0000 (13:46 -0500)]
docs: use -bsf:[vas] instead of -[vas]bsf.

The latter syntax is now invalid.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
8 years agompegaudiodec: Prevent premature clipping of mp3 input buffer.
Dale Curtis [Fri, 24 Feb 2012 18:17:39 +0000 (13:17 -0500)]
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

8 years agolavf: move the packet keyframe setting code.
Anton Khirnov [Wed, 15 Feb 2012 07:38:51 +0000 (08:38 +0100)]
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().

8 years agooggenc: free comment header for all codecs
Justin Ruggles [Thu, 23 Feb 2012 00:31:40 +0000 (19:31 -0500)]
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.

8 years agolcl: error out if uncompressed input buffer is smaller than framesize.
Ronald S. Bultje [Fri, 24 Feb 2012 00:09:36 +0000 (16:09 -0800)]
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
8 years agomjpeg: abort decoding if packet is too large.
Ronald S. Bultje [Thu, 23 Feb 2012 20:22:40 +0000 (12:22 -0800)]
mjpeg: abort decoding if packet is too large.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agogolomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.
Ronald S. Bultje [Fri, 17 Feb 2012 20:54:37 +0000 (12:54 -0800)]
golomb: use HAVE_BITS_REMAINING() macro to prevent infloop on EOF.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoget_bits: add HAVE_BITS_REMAINING macro.
Ronald S. Bultje [Wed, 22 Feb 2012 20:09:33 +0000 (12:09 -0800)]
get_bits: add HAVE_BITS_REMAINING macro.

8 years agolavf/output-example: use new audio encoding API correctly.
Anton Khirnov [Fri, 24 Feb 2012 07:59:38 +0000 (08:59 +0100)]
lavf/output-example: use new audio encoding API correctly.

8 years agolavf/output-example: more proper usage of the new API.
Anton Khirnov [Sat, 28 Jan 2012 19:12:45 +0000 (20:12 +0100)]
lavf/output-example: more proper usage of the new API.

Passing the codec into avformat_new_stream() is preferred.

8 years agoRevert "Set channel layout in flac decoder."
Michael Niedermayer [Fri, 24 Feb 2012 03:22:20 +0000 (04:22 +0100)]
Revert "Set channel layout in flac decoder."

This reverts commit 2ef2496cd19eb833f4ad22a5051c11be80d09598.

Conflicts:

libavcodec/Makefile

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoRevert "Fix channel layout for some stereo flac files."
Michael Niedermayer [Fri, 24 Feb 2012 03:21:16 +0000 (04:21 +0100)]
Revert "Fix channel layout for some stereo flac files."

This reverts commit d2ee3c913d6fec3cb8c0c1b67347007c7cd604e1.

8 years agoproresenc_anatoliy: switch to encode2
Michael Niedermayer [Fri, 24 Feb 2012 03:13:27 +0000 (04:13 +0100)]
proresenc_anatoliy: switch to encode2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agomsvideo1enc: switch to encode2()
Michael Niedermayer [Fri, 24 Feb 2012 03:13:01 +0000 (04:13 +0100)]
msvideo1enc: switch to encode2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoj2kenc: switch to encode2
Michael Niedermayer [Fri, 24 Feb 2012 03:12:40 +0000 (04:12 +0100)]
j2kenc: switch to encode2

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoflashsv2enc: switch to encode2()
Michael Niedermayer [Fri, 24 Feb 2012 02:30:42 +0000 (03:30 +0100)]
flashsv2enc: switch to encode2()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Fri, 24 Feb 2012 01:57:18 +0000 (02:57 +0100)]
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>
8 years agoRevert "Improve decoding quality for lossy wavpack."
Michael Niedermayer [Fri, 24 Feb 2012 00:26:38 +0000 (01:26 +0100)]
Revert "Improve decoding quality for lossy wavpack."

This has been implemented more correctly.

This reverts commit a915618a29f3f4197832151a4ed03ccdd585f9cf.

8 years agotiff: Prevent overreads in the type_sizes array.
Alex Converse [Thu, 23 Feb 2012 18:47:50 +0000 (10:47 -0800)]
tiff: Prevent overreads in the type_sizes array.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agotiff: Make the TIFF_LONG and TIFF_SHORT types unsigned.
Alex Converse [Thu, 23 Feb 2012 18:22:51 +0000 (10:22 -0800)]
tiff: Make the TIFF_LONG and TIFF_SHORT types unsigned.

TIFF v6.0 (unimplemented) adds signed equivalents.

8 years agoapetag: do not leak memory if avio_read() fails
Paul B Mahol [Fri, 24 Feb 2012 00:15:36 +0000 (00:15 +0000)]
apetag: do not leak memory if avio_read() fails

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agoapetag: propagate errors.
Ronald S. Bultje [Thu, 23 Feb 2012 23:35:24 +0000 (15:35 -0800)]
apetag: propagate errors.

Fixes crashes if reading the tag value fails.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoSBR DSP x86: implement SSE sbr_hf_g_filt
Christophe GISQUET [Thu, 23 Feb 2012 19:12:39 +0000 (20:12 +0100)]
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>
8 years agoSBR DSP x86: implement SSE sbr_sum_square_sse
Christophe GISQUET [Thu, 23 Feb 2012 18:48:58 +0000 (19:48 +0100)]
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>
8 years agoSBR DSP: use intptr_t for the ixh parameter.
Christophe GISQUET [Thu, 23 Feb 2012 21:25:48 +0000 (22:25 +0100)]
SBR DSP: use intptr_t for the ixh parameter.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agofate: add forgotten random_seed ref
Michael Niedermayer [Thu, 23 Feb 2012 23:36:51 +0000 (00:36 +0100)]
fate: add forgotten random_seed ref

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agofate: add random_seed test
Michael Niedermayer [Wed, 22 Feb 2012 21:25:16 +0000 (22:25 +0100)]
fate: add random_seed test

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agorandom_seed: add selftest
Michael Niedermayer [Wed, 22 Feb 2012 21:25:01 +0000 (22:25 +0100)]
random_seed: add selftest

Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agov408enc: switch to encode2()
Paul B Mahol [Thu, 23 Feb 2012 17:17:04 +0000 (17:17 +0000)]
v408enc: switch to encode2()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoyuv4enc: switch to encode2()
Paul B Mahol [Thu, 23 Feb 2012 17:17:03 +0000 (17:17 +0000)]
yuv4enc: switch to encode2()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agov308enc: switch to encode2()
Paul B Mahol [Thu, 23 Feb 2012 17:17:02 +0000 (17:17 +0000)]
v308enc: switch to encode2()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoudp: Fix sign of error codes.
Michael Niedermayer [Thu, 23 Feb 2012 22:22:16 +0000 (23:22 +0100)]
udp: Fix sign of error codes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoswf: check return values for av_get/new_packet().
Ronald S. Bultje [Thu, 23 Feb 2012 19:53:27 +0000 (11:53 -0800)]
swf: check return values for av_get/new_packet().

Prevents crashers when using the packet if allocation failed.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agowavpack: Don't shift minclip/maxclip
Derek Buitenhuis [Thu, 23 Feb 2012 15:55:35 +0000 (10:55 -0500)]
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>
8 years agortpenc: Expose the max packet size via an avoption
Martin Storsjö [Thu, 23 Feb 2012 09:56:15 +0000 (11:56 +0200)]
rtpenc: Expose the max packet size via an avoption

This allows opting for a lower MTU than what the AVIOContext
indicated, and allows writing into outputs that don't indicate
an MTU at all (such as plain files, which is useful for testing).

This also allows querying for the MTU via the avoption.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpenc: Move max_packet_size to a context variable
Martin Storsjö [Thu, 23 Feb 2012 09:54:13 +0000 (11:54 +0200)]
rtpenc: Move max_packet_size to a context variable

This is in preparation for exposing this via an avoption.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortpenc: Add an option for not sending RTCP packets
Martin Storsjö [Thu, 9 Feb 2012 21:28:15 +0000 (23:28 +0200)]
rtpenc: Add an option for not sending RTCP packets

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agolavc: drop encode() support for video.
Anton Khirnov [Thu, 23 Feb 2012 10:02:11 +0000 (11:02 +0100)]
lavc: drop encode() support for video.

All video encoders have been converted to encode2(), all new encoders
should also use only encode2().

8 years agosnowenc: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 09:59:22 +0000 (10:59 +0100)]
snowenc: switch to encode2().

8 years agosnowenc: don't abuse input picture for storing information.
Anton Khirnov [Thu, 23 Feb 2012 09:47:30 +0000 (10:47 +0100)]
snowenc: don't abuse input picture for storing information.