platform/upstream/libav.git
12 years agoadpcmenc: Use correct frame_size for Yamaha ADPCM.
Justin Ruggles [Tue, 31 Jan 2012 20:57:53 +0000 (15:57 -0500)]
adpcmenc: Use correct frame_size for Yamaha ADPCM.

Output packet size should match avctx->block_align. The target output packet
size is 1024 bytes.
Before:
mono   - 1024 samples -> 512 bytes
stereo - 2048 samples -> 2048 bytes
After:
mono   - 2048 samples -> 1024 bytes
stereo - 1024 samples -> 1024 bytes

12 years agoavcodec: add ff_samples_to_time_base() convenience function to internal.h
Justin Ruggles [Tue, 7 Feb 2012 20:37:45 +0000 (15:37 -0500)]
avcodec: add ff_samples_to_time_base() convenience function to internal.h

12 years agoadx parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 04:43:31 +0000 (23:43 -0500)]
adx parser: set duration

12 years agomlp parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 04:43:30 +0000 (23:43 -0500)]
mlp parser: set duration instead of frame_size

12 years agogsm parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 05:40:10 +0000 (00:40 -0500)]
gsm parser: set duration

12 years agompegaudio parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 02:05:08 +0000 (21:05 -0500)]
mpegaudio parser: set duration instead of frame_size

12 years ago(e)ac3 parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:59:43 +0000 (20:59 -0500)]
(e)ac3 parser: set duration instead of frame_size

12 years agoflac parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 01:53:09 +0000 (20:53 -0500)]
flac parser: set duration instead of frame_size

12 years agoavcodec: add duration field to AVCodecParserContext
Justin Ruggles [Fri, 13 Jan 2012 01:03:17 +0000 (20:03 -0500)]
avcodec: add duration field to AVCodecParserContext

This will allow parsers to export the duration of the current frame being
output, if known, instead of using AVCodecContext.frame_size.

12 years agoavutil: add av_rescale_q_rnd() to allow different rounding
Justin Ruggles [Mon, 13 Feb 2012 20:35:00 +0000 (15:35 -0500)]
avutil: add av_rescale_q_rnd() to allow different rounding

12 years agopnmdec: remove useless .pix_fmts
Paul B Mahol [Sun, 19 Feb 2012 05:20:01 +0000 (05:20 +0000)]
pnmdec: remove useless .pix_fmts

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
12 years agolibmp3lame: support float and s32 sample formats
Justin Ruggles [Fri, 17 Feb 2012 06:50:57 +0000 (01:50 -0500)]
libmp3lame: support float and s32 sample formats

12 years agolibmp3lame: renaming, rearrangement, alignment, and comments
Justin Ruggles [Fri, 17 Feb 2012 05:04:54 +0000 (00:04 -0500)]
libmp3lame: renaming, rearrangement, alignment, and comments

12 years agolibmp3lame: use the LAME default bit rate
Justin Ruggles [Fri, 17 Feb 2012 04:28:38 +0000 (23:28 -0500)]
libmp3lame: use the LAME default bit rate

Also, only set bit rate for CBR.

12 years agolibmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing
Justin Ruggles [Fri, 17 Feb 2012 04:06:54 +0000 (23:06 -0500)]
libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing

12 years agolibmp3lame: cosmetics: remove some pointless comments
Justin Ruggles [Fri, 17 Feb 2012 03:27:46 +0000 (22:27 -0500)]
libmp3lame: cosmetics: remove some pointless comments

12 years agolibmp3lame: convert some debugging code to av_dlog()
Justin Ruggles [Fri, 17 Feb 2012 03:25:51 +0000 (22:25 -0500)]
libmp3lame: convert some debugging code to av_dlog()

also remove unneeded commented-out full frame data debugging

12 years agolibmp3lame: remove outdated comment.
Justin Ruggles [Fri, 17 Feb 2012 03:18:31 +0000 (22:18 -0500)]
libmp3lame: remove outdated comment.

We now require at least libmp3lame 3.98.3.
lame_encode_buffer_interleaved() still doesn't work for mono, but it does not
"die"; it just expects a stereo interleaved buffer.

12 years agolibmp3lame: do not set coded_frame->key_frame.
Justin Ruggles [Fri, 17 Feb 2012 03:12:21 +0000 (22:12 -0500)]
libmp3lame: do not set coded_frame->key_frame.

it is already set in avcodec_alloc_frame()

12 years agolibmp3lame: improve error handling in MP3lame_encode_init()
Justin Ruggles [Fri, 17 Feb 2012 03:12:03 +0000 (22:12 -0500)]
libmp3lame: improve error handling in MP3lame_encode_init()

12 years agolibmp3lame: remove unneeded 'stereo' field from Mp3AudioContext
Justin Ruggles [Fri, 17 Feb 2012 03:04:08 +0000 (22:04 -0500)]
libmp3lame: remove unneeded 'stereo' field from Mp3AudioContext

12 years agohls: Reset the AVIOContext when seeking
Martin Storsjö [Fri, 20 Jan 2012 14:29:09 +0000 (16:29 +0200)]
hls: Reset the AVIOContext when seeking

This avoids reading any old data in the AVIOContext buffer after
the seek, and indicates to the mpegts demuxer that we've seeked,
avoiding continuity check errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agopcxenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pcxenc: switch to encode2().

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

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

12 years agotargaenc: don't modify input frame.
Anton Khirnov [Sun, 19 Feb 2012 09:44:52 +0000 (10:44 +0100)]
targaenc: don't modify input frame.

Set the pict_type/key_frame properties on the coded picture.

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

12 years agoroqvideoenc: add const qualifier to the input frame.
Anton Khirnov [Sun, 19 Feb 2012 09:01:01 +0000 (10:01 +0100)]
roqvideoenc: add const qualifier to the input frame.

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

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

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

12 years agozmbvenc: switch to encode2().
Anton Khirnov [Fri, 10 Feb 2012 09:30:05 +0000 (10:30 +0100)]
zmbvenc: switch to encode2().

12 years agozmbvenc: move header writing to the end of encode_frame().
Anton Khirnov [Sun, 19 Feb 2012 10:16:16 +0000 (11:16 +0100)]
zmbvenc: move header writing to the end of encode_frame().

This makes switching to encode2() simpler, because it allows us to know
exactly how large should the output buffer be before we start writing
into it.

12 years agoh264: don't use redzone in loopfilter on win64.
Ronald S. Bultje [Sun, 19 Feb 2012 02:57:22 +0000 (18:57 -0800)]
h264: don't use redzone in loopfilter on win64.

Red zone usage is not allowed in the Win64 ABI.

12 years agoRevert two swscale commits.
Ronald S. Bultje [Sun, 19 Feb 2012 14:38:49 +0000 (06:38 -0800)]
Revert two swscale commits.

Revert "swscale: update context offsets after removal of AlpMmxFilter."
(commit a95e3fa90b4190381b65d180eec5a4027075e2da)
and
Revert "swscale: Remove some write-only variables related to alpha handling."
(commit 9d03cb9fc5ddf914920ab0dbe13f19a34c754966).

They broke alpha handling - it's the evil inline asm that still uses that
variable, so it's not truely write-only.

12 years agoapplehttp: Do seeking within segments, too
Panagiotis H.M. Issaris [Tue, 10 Jan 2012 13:48:57 +0000 (14:48 +0100)]
applehttp: Do seeking within segments, too

Enhance seeking by demuxing until the requested timestamp is
reached within the segment selected by the seek code using the
playlist info.

Some mpegts streams don't have dts set for all packets though,
this seeking method doesn't work well for that case.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agodoxy: remove reference to removed api
Luca Barbato [Sun, 19 Feb 2012 09:35:45 +0000 (10:35 +0100)]
doxy: remove reference to removed api

12 years agoexamples: unbreak compilation
Luca Barbato [Sun, 19 Feb 2012 09:34:40 +0000 (10:34 +0100)]
examples: unbreak compilation

Update api so it will compile again.

12 years agottadec: cosmetics: reindent
Paul B Mahol [Sat, 18 Feb 2012 01:25:46 +0000 (01:25 +0000)]
ttadec: cosmetics: reindent

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
12 years agosunrast: use RLE trigger macro inplace of the hard coded value.
Aneesh Dogra [Fri, 17 Feb 2012 20:34:24 +0000 (02:04 +0530)]
sunrast: use RLE trigger macro inplace of the hard coded value.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years agosunrastenc: set keyframe flag for the output packet.
Aneesh Dogra [Fri, 17 Feb 2012 20:08:01 +0000 (01:38 +0530)]
sunrastenc: set keyframe flag for the output packet.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years agompegvideo_enc: switch to encode2().
Anton Khirnov [Fri, 10 Feb 2012 09:30:05 +0000 (10:30 +0100)]
mpegvideo_enc: switch to encode2().

12 years agompegvideo_enc: force encoding delay of at least 1 frame when low_delay=0
Anton Khirnov [Sat, 18 Feb 2012 08:08:23 +0000 (09:08 +0100)]
mpegvideo_enc: force encoding delay of at least 1 frame when low_delay=0

This allows the following commit to extrapolate better dts for the first
frame. Pts difference between the first two frames is reused as the
difference between pts and dts of the first frame.

12 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>
12 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>
12 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>
12 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.

12 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
12 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
12 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
12 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
12 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>
12 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>
12 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
12 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
12 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
12 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.

12 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
12 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>
12 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>
12 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>
12 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>
12 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
12 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
12 years agopamenc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
pamenc: switch to encode2().

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

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

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

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

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

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

12 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

12 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>
12 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>
12 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>
12 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>
12 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>
12 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>
12 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.

12 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.

12 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

12 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.

12 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
12 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.

12 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>
12 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>
12 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>
12 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>
12 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>
12 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
12 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.

12 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.

12 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.

12 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.

12 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.

12 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.

12 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>
12 years agoproresenc: initialise 'sign' variable
Kostya Shishkov [Wed, 15 Feb 2012 19:52:11 +0000 (20:52 +0100)]
proresenc: initialise 'sign' variable

12 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>
12 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