ffmpeg.git
8 years agoexamples/filtering: fix deprecated function calls warnings.
Clément Bœsch [Fri, 17 Feb 2012 10:18:27 +0000 (11:18 +0100)]
examples/filtering: fix deprecated function calls warnings.

8 years agoexamples/filtering: fix implicit declarations and function mis-usage.
Clément Bœsch [Fri, 17 Feb 2012 10:05:13 +0000 (11:05 +0100)]
examples/filtering: fix implicit declarations and function mis-usage.

8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sun, 19 Feb 2012 00:36:23 +0000 (01:36 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  mov: Use defines for sample flags in fragments
  mov: Use defines for trun flags
  mov: Use defines for tfhd flags
  proresenc: force bitrate not to exceed given limit
  vc1parse: call vc1_init_common().
  wma: don't return 0 on invalid packets.
  asf: prevent packet_size_left from going negative if hdrlen > pktlen.
  mjpegb: don't return 0 at the end of frame decoding.
  rtpdec: Identify incorrectly signalled H263
  vp8dsp: split long line.
  aiff: don't skip block_align==0 check on COMM-after-SSND files.
  dpcm: ignore extra unpaired bytes in stereo streams.
  mp3on4: require a minimum framesize.
  mpc7: assign an error level + context to av_log() msg.
  huffyuv: error out on bit overrun.
  dct-test: Add the missing ff_ prefix to the altivec functions
  dct-test: Remove a stray declaration of a nonexistent function
  movenc: Write the unknown duration as 64 bit fields in ismv
  movenc: Write track durations with all bits set if duration is unknown

Conflicts:
libavcodec/dct-test.c
libavcodec/wmadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
8 years agolavf-fate-ogg_vp3: Try -idct auto instead of -idct simple.
Reimar Döffinger [Sat, 18 Feb 2012 20:43:21 +0000 (21:43 +0100)]
lavf-fate-ogg_vp3: Try -idct auto instead of -idct simple.

-idct simple for some reason results in different results on
different systems.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agooggenc: fix condition when not to flush due to keyframe granule.
Reimar Döffinger [Sat, 18 Feb 2012 20:21:20 +0000 (21:21 +0100)]
oggenc: fix condition when not to flush due to keyframe granule.

The previous condition of 0 page size was wrong,
that would disable the mechanism for all frames at
a start of a page, thus some keyframes still would not
get their own granule.
The real problem is that header packets must not be flushed,
but they have (and must have) 0 granule and thus would
be detected as keyframes.
Add a separate parameter to mark header packets.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agooggdec: improve warning message.
Reimar Döffinger [Sat, 18 Feb 2012 20:19:58 +0000 (21:19 +0100)]
oggdec: improve warning message.

Print whether it was a keyframe or a non-keyframe that
was incorrectly marked as the other.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agoffprobe: fix crash if the file can't be opened.
Clément Bœsch [Sat, 18 Feb 2012 20:34:44 +0000 (21:34 +0100)]
ffprobe: fix crash if the file can't be opened.

8 years agomov: Use defines for sample flags in fragments
Martin Storsjö [Thu, 16 Feb 2012 20:12:12 +0000 (21:12 +0100)]
mov: Use defines for sample flags in fragments

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agomov: Use defines for trun flags
Martin Storsjö [Thu, 16 Feb 2012 19:58:09 +0000 (20:58 +0100)]
mov: Use defines for trun flags

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agomov: Use defines for tfhd flags
Martin Storsjö [Thu, 16 Feb 2012 19:48:30 +0000 (20:48 +0100)]
mov: Use defines for tfhd flags

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoproresenc: force bitrate not to exceed given limit
Kostya Shishkov [Wed, 15 Feb 2012 20:04:12 +0000 (21:04 +0100)]
proresenc: force bitrate not to exceed given limit

Apple ProRes Format Specifications mentions target data size for every frame,
so make sure frame meets it. This also allows encoder to demand much smaller
packet sizes for output.

8 years agovc1parse: call vc1_init_common().
Ronald S. Bultje [Fri, 17 Feb 2012 22:18:22 +0000 (14:18 -0800)]
vc1parse: call vc1_init_common().

The parser uses VLC tables initialized in vc1_common_init(), therefore
we should call this function on parser init also.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agowma: don't return 0 on invalid packets.
Ronald S. Bultje [Sat, 18 Feb 2012 00:57:00 +0000 (16:57 -0800)]
wma: don't return 0 on invalid packets.

Return 0 means "please return the same data again", i.e. it causes an
infinite loop. Instead, return an error.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoasf: prevent packet_size_left from going negative if hdrlen > pktlen.
Ronald S. Bultje [Fri, 17 Feb 2012 20:21:18 +0000 (12:21 -0800)]
asf: prevent packet_size_left from going negative if hdrlen > pktlen.

This prevents failed assertions further down in the packet processing
where we require non-negative values for packet_size_left.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agomjpegb: don't return 0 at the end of frame decoding.
Ronald S. Bultje [Sat, 18 Feb 2012 00:27:36 +0000 (16:27 -0800)]
mjpegb: don't return 0 at the end of frame decoding.

Return 0 indicates "please return the same data again", i.e. it causes
an infinite loop. Instead, return that we consumed the buffer if we
finished decoding succesfully, or return an error if an error occurred.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoAdd muxer test based on stream-copy from FATE sample.
Reimar Döffinger [Sun, 12 Feb 2012 10:52:10 +0000 (11:52 +0100)]
Add muxer test based on stream-copy from FATE sample.

This should test muxing Theora into Ogg.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agortpdec: Identify incorrectly signalled H263
Martin Storsjö [Fri, 17 Feb 2012 08:27:41 +0000 (10:27 +0200)]
rtpdec: Identify incorrectly signalled H263

H263 in RTP can be packetized in two formats (RFC 2190, RFC
2429/4629). The former normally uses the static payload type 34,
while the latter normally uses dynamic payload types with the
SDP format names H263-1998 or H263-2000.

Look for packets that don't look like proper RFC 2190 packets and
switch to depacketizing them according to the new format if they
match some heuristic criteria.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoffmpeg: Fix setting flags for codec copy.
Michael Niedermayer [Sat, 18 Feb 2012 06:53:05 +0000 (07:53 +0100)]
ffmpeg: Fix setting flags for codec copy.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoAllow other programs to open the same files on Windows.
Reimar Döffinger [Fri, 20 Jan 2012 19:27:22 +0000 (20:27 +0100)]
Allow other programs to open the same files on Windows.

In order to match Linux behaviour better our
Windows-specific open() replacement should disable
Windows default file locking.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agoMake AAC in Ogg (ogm) work.
Reimar Döffinger [Mon, 6 Feb 2012 21:04:46 +0000 (22:04 +0100)]
Make AAC in Ogg (ogm) work.

This needs the extradata to be extracted.
The approach used is the one MPlayer uses, though it is
unclear whether the 4 bytes extradata that are skipped
should be skipped always or only for AAC.
The AAC parser must be disabled, too, otherwise playback
still does not work.
Fixes trac issue #547.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agolavfi/aspect: set default value to 0:1, as stated in the docs
Stefano Sabatini [Sat, 18 Feb 2012 10:41:53 +0000 (11:41 +0100)]
lavfi/aspect: set default value to 0:1, as stated in the docs

Fix regression introduced in commit 70ffda3217c58bbbfb8a7e7c58824b8ca6c56128.

8 years agolavfi/aspect: remove confusing comments
Stefano Sabatini [Sat, 18 Feb 2012 10:37:34 +0000 (11:37 +0100)]
lavfi/aspect: remove confusing comments

8 years agolavfi/aspect: show log info even in case no argument is provided to setdar/setsar
Stefano Sabatini [Sat, 18 Feb 2012 10:31:28 +0000 (11:31 +0100)]
lavfi/aspect: show log info even in case no argument is provided to setdar/setsar

8 years agomovenc: Dont crash on aspect=0/0.
Michael Niedermayer [Sat, 18 Feb 2012 03:07:53 +0000 (04:07 +0100)]
movenc: Dont crash on aspect=0/0.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoavidec: remove harmless duplicate code.
Michael Niedermayer [Sat, 18 Feb 2012 02:42:10 +0000 (03:42 +0100)]
avidec: remove harmless duplicate code.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agolibx264: unbreak libx264rgb
Paul B Mahol [Sat, 18 Feb 2012 01:16:37 +0000 (01:16 +0000)]
libx264: unbreak libx264rgb

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Sat, 18 Feb 2012 01:20:19 +0000 (02:20 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master: (22 commits)
  als: prevent infinite loop in zero_remaining().
  cook: prevent div-by-zero if channels is zero.
  pamenc: switch to encode2().
  svq1enc: switch to encode2().
  dvenc: switch to encode2().
  dpxenc: switch to encode2().
  pngenc: switch to encode2().
  v210enc: switch to encode2().
  xwdenc: switch to encode2().
  ttadec: use branchless unsigned-to-signed unfolding
  avcodec: add a Sun Rasterfile encoder
  sunrast: Move common defines to a new header file.
  cdxl: fix video decoding for some files
  cdxl: fix audio for some samples
  apetag: add proper support for binary tags
  ttadec: remove dead code
  swscale: make access to filter data conditional on filter type.
  swscale: update context offsets after removal of AlpMmxFilter.
  prores: initialise encoder and decoder parts only when needed
  swscale: make monowhite/black RGB-independent.
  ...

Conflicts:
Changelog
libavcodec/alsdec.c
libavcodec/dpxenc.c
libavcodec/golomb.h
libavcodec/pamenc.c
libavcodec/pngenc.c
libavformat/img2.c
libswscale/output.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
8 years agovp8dsp: split long line.
Ronald S. Bultje [Fri, 17 Feb 2012 05:42:55 +0000 (21:42 -0800)]
vp8dsp: split long line.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoaiff: don't skip block_align==0 check on COMM-after-SSND files.
Ronald S. Bultje [Fri, 17 Feb 2012 23:51:27 +0000 (15:51 -0800)]
aiff: don't skip block_align==0 check on COMM-after-SSND files.

This prevents SIGFPEs when using block_align for divisions.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agodpcm: ignore extra unpaired bytes in stereo streams.
Alex Converse [Fri, 17 Feb 2012 22:13:40 +0000 (14:13 -0800)]
dpcm: ignore extra unpaired bytes in stereo streams.

Fixes: CVE-2011-3951

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
8 years agomp3on4: require a minimum framesize.
Ronald S. Bultje [Fri, 17 Feb 2012 23:20:27 +0000 (15:20 -0800)]
mp3on4: require a minimum framesize.

If bufsize < headersize, init_get_bits() will be called with a negative
number, causing it to fail and any subsequent call to get_bits() will
crash because it reads from a NULL pointer.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agompc7: assign an error level + context to av_log() msg.
Ronald S. Bultje [Fri, 17 Feb 2012 22:51:29 +0000 (14:51 -0800)]
mpc7: assign an error level + context to av_log() msg.

8 years agohuffyuv: error out on bit overrun.
Ronald S. Bultje [Fri, 17 Feb 2012 23:00:47 +0000 (15:00 -0800)]
huffyuv: error out on bit overrun.

On EOF, get_bits() will continuously return 0, causing an infinite
loop.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoFix ffmpeg -codecs output.
Carl Eugen Hoyos [Fri, 17 Feb 2012 22:51:22 +0000 (23:51 +0100)]
Fix ffmpeg -codecs output.

8 years agodct-test: Add the missing ff_ prefix to the altivec functions
Martin Storsjö [Fri, 17 Feb 2012 21:12:25 +0000 (23:12 +0200)]
dct-test: Add the missing ff_ prefix to the altivec functions

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agodct-test: Remove a stray declaration of a nonexistent function
Martin Storsjö [Fri, 17 Feb 2012 21:10:21 +0000 (23:10 +0200)]
dct-test: Remove a stray declaration of a nonexistent function

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agomovenc: Write the unknown duration as 64 bit fields in ismv
Martin Storsjö [Fri, 17 Feb 2012 12:40:24 +0000 (14:40 +0200)]
movenc: Write the unknown duration as 64 bit fields in ismv

This is required for the files to play back properly in
windows media player.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agomovenc: Write track durations with all bits set if duration is unknown
Martin Storsjö [Fri, 27 Jan 2012 22:28:19 +0000 (00:28 +0200)]
movenc: Write track durations with all bits set if duration is unknown

According to 14496-12, the duration should be all 1s if
the duration is unknown. This is the case if writing a moov
atom without any samples described in it (e.g. as in ismv files).

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoy41penc: switch to encode2()
Paul B Mahol [Fri, 17 Feb 2012 21:27:45 +0000 (21:27 +0000)]
y41penc: switch to encode2()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agor210enc: switch to encode2()
Paul B Mahol [Fri, 17 Feb 2012 21:27:44 +0000 (21:27 +0000)]
r210enc: switch to encode2()

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoh264: change deblock_h_chroma_8_mmxext() to prevent valgrind confusion.
Michael Niedermayer [Fri, 17 Feb 2012 19:41:33 +0000 (20:41 +0100)]
h264: change deblock_h_chroma_8_mmxext() to prevent valgrind confusion.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoals: prevent infinite loop in zero_remaining().
Ronald S. Bultje [Fri, 17 Feb 2012 20:28:26 +0000 (12:28 -0800)]
als: prevent infinite loop in zero_remaining().

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agocook: prevent div-by-zero if channels is zero.
Ronald S. Bultje [Fri, 17 Feb 2012 20:10:33 +0000 (12:10 -0800)]
cook: prevent div-by-zero if channels is zero.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoMake CDXL palette opaque.
Carl Eugen Hoyos [Fri, 17 Feb 2012 20:33:14 +0000 (21:33 +0100)]
Make CDXL palette opaque.

8 years agopamenc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
pamenc: switch to encode2().

8 years agosvq1enc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
svq1enc: switch to encode2().

8 years agodvenc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
dvenc: switch to encode2().

8 years agodpxenc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
dpxenc: switch to encode2().

8 years agopngenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pngenc: switch to encode2().

8 years agov210enc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
v210enc: switch to encode2().

8 years agoxwdenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
xwdenc: switch to encode2().

8 years agottadec: use branchless unsigned-to-signed unfolding
Justin Ruggles [Fri, 17 Feb 2012 02:51:03 +0000 (21:51 -0500)]
ttadec: use branchless unsigned-to-signed unfolding

8 years agoavcodec: add a Sun Rasterfile encoder
Aneesh Dogra [Thu, 16 Feb 2012 21:08:51 +0000 (02:38 +0530)]
avcodec: add a Sun Rasterfile encoder

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agosunrast: Move common defines to a new header file.
Aneesh Dogra [Thu, 16 Feb 2012 20:17:34 +0000 (01:47 +0530)]
sunrast: Move common defines to a new header file.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agocdxl: fix video decoding for some files
Paul B Mahol [Fri, 17 Feb 2012 17:42:36 +0000 (17:42 +0000)]
cdxl: fix video decoding for some files

Width is padded for ham encodings too.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agocdxl: fix audio for some samples
Paul B Mahol [Thu, 16 Feb 2012 21:48:57 +0000 (21:48 +0000)]
cdxl: fix audio for some samples

There may be extra padding at and of chunk.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoapetag: add proper support for binary tags
Paul B Mahol [Mon, 13 Feb 2012 15:01:54 +0000 (15:01 +0000)]
apetag: add proper support for binary tags

export as attachment streams

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agottadec: remove dead code
Paul B Mahol [Fri, 17 Feb 2012 17:01:22 +0000 (17:01 +0000)]
ttadec: remove dead code

The unused code being removed is for encoding only and therefore is not needed
by the decoder.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoswscale: make access to filter data conditional on filter type.
Ronald S. Bultje [Fri, 17 Feb 2012 18:30:48 +0000 (10:30 -0800)]
swscale: make access to filter data conditional on filter type.

Prevents crashes on 1-tap filter (unscaled). Also rename "bguf" argument
to "vbuf", seems that was a typo.

8 years agoswscale: update context offsets after removal of AlpMmxFilter.
Ronald S. Bultje [Fri, 17 Feb 2012 18:16:02 +0000 (10:16 -0800)]
swscale: update context offsets after removal of AlpMmxFilter.

8 years agomatroskadec: introduce resync function.
Reimar Döffinger [Mon, 13 Feb 2012 22:06:19 +0000 (23:06 +0100)]
matroskadec: introduce resync function.

This allows handling matroska files with errors.
Fixes test4.mkv and test7.mkv from the official Matroska test suite.
These are also trac issues #544 and #545.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agoAdd ismv regression test.
Reimar Döffinger [Sun, 12 Feb 2012 11:06:36 +0000 (12:06 +0100)]
Add ismv regression test.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agomovenc: fix crashes if a stream is empty.
Reimar Döffinger [Sun, 12 Feb 2012 11:05:43 +0000 (12:05 +0100)]
movenc: fix crashes if a stream is empty.

For some reason this always happens with -f ismv.
See trac issue #996.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
8 years agoprores: initialise encoder and decoder parts only when needed
Kostya Shishkov [Fri, 17 Feb 2012 08:46:53 +0000 (09:46 +0100)]
prores: initialise encoder and decoder parts only when needed

8 years agomovenc: leave st->codec->frame_size as is instead of forcing it to 1.
Andrew Wason [Fri, 17 Feb 2012 15:24:18 +0000 (16:24 +0100)]
movenc: leave st->codec->frame_size as is instead of forcing it to 1.

Muxing pcm audio in MOV using avcodec_encode_audio() was failing
because avcodec_encode_audio() returns an incorrect packet size of 4
bytes. This can be reproduced by modifying the sample
ffmpeg/doc/examples/muxing.c to encode PCM, see ML patch
muxing-test.diff

I git bisected and commit 89ddff92a385 is the one that broke this. In
mov_write_header() if st->codec->frame_size <= 1 it sets it to 1. Then
avcodec_encode_audio() sets frame->nb_samples = avctx->frame_size, and
frame->nb_samples of 1 is used to compute a packet size of 4 bytes.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoprores: initialise encoder and decoder parts only when needed
Kostya Shishkov [Fri, 17 Feb 2012 08:46:53 +0000 (09:46 +0100)]
prores: initialise encoder and decoder parts only when needed

8 years agoswscale: make monowhite/black RGB-independent.
Ronald S. Bultje [Fri, 17 Feb 2012 04:28:14 +0000 (20:28 -0800)]
swscale: make monowhite/black RGB-independent.

Disadvantage is that it no longer allows modifying brightness through
adjustment of the RGB lookup table. Advantage is that now monowhite/black
no longer need to be identified as a RGB format.

8 years agoMakefile: fix proresdec dependancies
Zongyao Qu [Fri, 17 Feb 2012 05:04:31 +0000 (06:04 +0100)]
Makefile: fix proresdec dependancies

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoflac: fix infinite loops on all-zero input or end-of-stream.
Ronald S. Bultje [Wed, 15 Feb 2012 17:52:11 +0000 (09:52 -0800)]
flac: fix infinite loops on all-zero input or end-of-stream.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agowmapro: change max. block size to 13 bits.
Ronald S. Bultje [Thu, 16 Feb 2012 21:51:17 +0000 (13:51 -0800)]
wmapro: change max. block size to 13 bits.

WMApro actually support 13-bits block sizes (potentially even up to 14),
and thus we should support that also. If we get block sizes beyond what
the decoder can handle (14 is possible depending on s->decode_flags),
error out instead of crashing.

8 years agoffprobe: add count_frames and count_packets options
Matthieu Bouron [Wed, 1 Feb 2012 15:23:53 +0000 (16:23 +0100)]
ffprobe: add count_frames and count_packets options

Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
8 years agoMerge remote-tracking branch 'qatar/master'
Michael Niedermayer [Thu, 16 Feb 2012 23:35:06 +0000 (00:35 +0100)]
Merge remote-tracking branch 'qatar/master'

* qatar/master:
  shorten: Use separate pointers for the allocated memory for decoded samples.
  atrac3: Fix crash in tonal component decoding.
  ws_snd1: Fix wrong samples counts.
  movenc: Don't set a default sample duration when creating ismv
  rtp: Factorize the check for distinguishing RTCP packets from RTP
  golomb: avoid infinite loop on all-zero input (or end of buffer).
  bethsoftvid: synchronize video timestamps with audio sample rate
  bethsoftvid: add audio stream only after getting the first audio packet
  bethsoftvid: Set video packet duration instead of accumulating pts.
  bethsoftvid: set packet key frame flag for audio and I-frame video packets.
  bethsoftvid: fix read_packet() return codes.
  bethsoftvid: pass palette in side data instead of in a separate packet.
  sdp: Ignore RTCP packets when autodetecting RTP streams
  proresenc: initialise 'sign' variable
  mpegaudio: replace memcpy by SIMD code
  vc1: prevent using last_frame as a reference for I/P first frame.

Conflicts:
libavcodec/atrac3.c
libavcodec/golomb.h
libavcodec/shorten.c
libavcodec/ws-snd1.c
tests/ref/fate/bethsoft-vid

Merged-by: Michael Niedermayer <michaelni@gmx.at>
8 years agolavfi/overlay: add logic for avoiding overlaying frames with PTS > main frame PTS
Stefano Sabatini [Tue, 10 Jan 2012 00:21:17 +0000 (01:21 +0100)]
lavfi/overlay: add logic for avoiding overlaying frames with PTS > main frame PTS

Also add debug logging messages for helping tracking down similar
issues.

Fix trac ticket #467.

8 years agodshow_filter: fix compilation with mingw-w64
Rafaël Carré [Thu, 16 Feb 2012 22:15:59 +0000 (17:15 -0500)]
dshow_filter: fix compilation with mingw-w64

Closes ticket #999
NO_DSHOW_STRSAFE asks dshow.h header to not use secure string function
replacements.
Using secure replacements would break mingw.org compatibility as they don't
declare/define those functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agog729dec: fix 'warning: assignment from incompatible pointer type'
Michael Niedermayer [Thu, 16 Feb 2012 22:03:58 +0000 (23:03 +0100)]
g729dec: fix 'warning: assignment from incompatible pointer type'

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agog729dec: fix use of deprecated functions.
Michael Niedermayer [Thu, 16 Feb 2012 22:02:07 +0000 (23:02 +0100)]
g729dec: fix use of deprecated functions.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agodiracdec: fix use of deprecated funnctions
Michael Niedermayer [Thu, 16 Feb 2012 22:01:47 +0000 (23:01 +0100)]
diracdec: fix use of deprecated funnctions

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoshorten: Use separate pointers for the allocated memory for decoded samples.
Michael Niedermayer [Sun, 25 Dec 2011 11:28:50 +0000 (12:28 +0100)]
shorten: Use separate pointers for the allocated memory for decoded samples.

Fixes invalid free() if any of the buffers are not allocated due to either
not decoding a header or an error prior to allocating all buffers.

Fixes CVE-2012-0858
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoatrac3: Fix crash in tonal component decoding.
Michael Niedermayer [Sat, 17 Dec 2011 02:18:58 +0000 (03:18 +0100)]
atrac3: Fix crash in tonal component decoding.

Add a check to avoid writing past the end of the channel_unit.components[]
array.

Bug Found by: cosminamironesei
Fixes CVE-2012-0853
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agows_snd1: Fix wrong samples counts.
Michael Niedermayer [Sat, 24 Dec 2011 23:10:27 +0000 (00:10 +0100)]
ws_snd1: Fix wrong samples counts.

This makes the check that avoids overwrite of the samples array actually
work properly.

fixes CVE-2012-0848
CC: libav-stable@libav.org
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoqtrleenc: fix uninitialized variable warnings
Michael Niedermayer [Thu, 16 Feb 2012 19:11:33 +0000 (20:11 +0100)]
qtrleenc: fix uninitialized variable warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoproresdec2: use ff_dsputil_init() avoid deprecated ff_ less variant.
Michael Niedermayer [Thu, 16 Feb 2012 18:55:16 +0000 (19:55 +0100)]
proresdec2: use ff_dsputil_init() avoid deprecated ff_ less variant.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoproresdec2: Fix 16 vs. 8bit compiler warnings.
Michael Niedermayer [Thu, 16 Feb 2012 18:54:28 +0000 (19:54 +0100)]
proresdec2: Fix 16 vs. 8bit compiler warnings.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agomovenc: Don't set a default sample duration when creating ismv
Martin Storsjö [Tue, 31 Jan 2012 13:23:26 +0000 (15:23 +0200)]
movenc: Don't set a default sample duration when creating ismv

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agortp: Factorize the check for distinguishing RTCP packets from RTP
Martin Storsjö [Thu, 16 Feb 2012 16:31:03 +0000 (17:31 +0100)]
rtp: Factorize the check for distinguishing RTCP packets from RTP

The binary doesn't change after this patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agogolomb: avoid infinite loop on all-zero input (or end of buffer).
Ronald S. Bultje [Tue, 14 Feb 2012 19:50:57 +0000 (11:50 -0800)]
golomb: avoid infinite loop on all-zero input (or end of buffer).

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agobethsoftvid: synchronize video timestamps with audio sample rate
Justin Ruggles [Thu, 19 Jan 2012 01:24:30 +0000 (20:24 -0500)]
bethsoftvid: synchronize video timestamps with audio sample rate

According to unofficial documentation, the video rate is locked to the audio
sample rate. This results in proper synchronization of audio and video
timestamps from the demuxer. This only works if the first audio packet occurs
before the first video packet or the audio sample rate is the default rate of
11111 Hz, both of which are true for all samples in our archive.

8 years agobethsoftvid: add audio stream only after getting the first audio packet
Justin Ruggles [Thu, 19 Jan 2012 00:50:37 +0000 (19:50 -0500)]
bethsoftvid: add audio stream only after getting the first audio packet

This avoids initializing a stream with dummy values or when the file does not
contain audio.
Also set duration for audio packets, using the sample rate as the time base.

8 years agobethsoftvid: Set video packet duration instead of accumulating pts.
Justin Ruggles [Wed, 18 Jan 2012 23:58:54 +0000 (18:58 -0500)]
bethsoftvid: Set video packet duration instead of accumulating pts.

8 years agobethsoftvid: set packet key frame flag for audio and I-frame video packets.
Justin Ruggles [Wed, 18 Jan 2012 23:48:32 +0000 (18:48 -0500)]
bethsoftvid: set packet key frame flag for audio and I-frame video packets.

Fixes avconv video stream copy of bethsoft video, which was skipping all
video frames unless the copyinkf option was used.

8 years agobethsoftvid: fix read_packet() return codes.
Justin Ruggles [Wed, 18 Jan 2012 23:46:38 +0000 (18:46 -0500)]
bethsoftvid: fix read_packet() return codes.

Use proper AVERROR codes, and return 0 for no error.

8 years agobethsoftvid: pass palette in side data instead of in a separate packet.
Justin Ruggles [Wed, 18 Jan 2012 20:45:47 +0000 (15:45 -0500)]
bethsoftvid: pass palette in side data instead of in a separate packet.

Update FATE reference to account for now non-existent palette packet.
This also fixes the FATE test if frame data is not initialized in
get_buffer(), so update comment in avconv accordingly.

8 years agosdp: Ignore RTCP packets when autodetecting RTP streams
Martin Storsjö [Mon, 13 Feb 2012 15:05:43 +0000 (17:05 +0200)]
sdp: Ignore RTCP packets when autodetecting RTP streams

The rtp demuxer which listens for RTP packets and detects the
RTP payload type will currently get confused if the first packet
received is an RTCP packet. Thus ignore such packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoproresenc: initialise 'sign' variable
Kostya Shishkov [Wed, 15 Feb 2012 19:52:11 +0000 (20:52 +0100)]
proresenc: initialise 'sign' variable

8 years agosnow: zero scratchbuf.
Michael Niedermayer [Thu, 16 Feb 2012 05:25:32 +0000 (06:25 +0100)]
snow: zero scratchbuf.

This should fix some valgrind warnings.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agofate: trying to fix "libavcodec/dct-test.o:(.rodata+0xdc): undefined reference to...
Michael Niedermayer [Thu, 16 Feb 2012 05:15:40 +0000 (06:15 +0100)]
fate: trying to fix "libavcodec/dct-test.o:(.rodata+0xdc): undefined reference to fdct_altivec"

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
8 years agompegaudio: replace memcpy by SIMD code
Christophe GISQUET [Wed, 18 Jan 2012 21:34:29 +0000 (22:34 +0100)]
mpegaudio: replace memcpy by SIMD code

By replacing memcpy with an unrolled loop using the alignment knowledge
it has, some speedup can be obtained.

Before (gcc 4.6.1): ~400 cycles
After: ~370 cycles

Overall, around 2% speed increase when decoding a 2400s mp3 to f32le.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agovc1: prevent using last_frame as a reference for I/P first frame.
Ronald S. Bultje [Tue, 14 Feb 2012 20:40:19 +0000 (12:40 -0800)]
vc1: prevent using last_frame as a reference for I/P first frame.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoMerge remote-tracking branch 'shariman/wmall'
Michael Niedermayer [Thu, 16 Feb 2012 03:01:24 +0000 (04:01 +0100)]
Merge remote-tracking branch 'shariman/wmall'

* shariman/wmall:
  Do not try to read residue if ave_mean <= 1
  Move some variable declarations to comply with C90
  Cosmetics: fix some whitespace errors
  Support 24-bit decoding
  wmall: remove ;;

Conflicts:
libavcodec/wmalosslessdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
8 years agoHandle interlaced formats (two coding units together make one full frame)
Pilotware [Wed, 15 Feb 2012 05:35:06 +0000 (21:35 -0800)]
Handle interlaced formats (two coding units together make one full frame)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>