OSDN Git Service
Martin Storsjö [Tue, 21 Feb 2012 10:16:18 +0000 (12:16 +0200)]
movdec: Don't parse all fragments if ignidx is set
In nonseekable files, we already stop parsing the toplevel atoms
after finding moov and one mdat. In large seekable files (or files
that are seekable, but slowly, e.g. http), reading all the fragments
at the start can take a considerable amount of time. This allows
opting out from this behaviour.
Signed-off-by: Martin Storsjö <martin@martin.st>
Martin Storsjö [Tue, 21 Feb 2012 10:03:56 +0000 (12:03 +0200)]
movdec: Restart parsing root-level atoms at the right spot
If parsing moov+mdat in a non-seekable file, we currently
abort parsing directly after parsing the header of the mdat
atom. If we want to continue parsing later (if looking to
parse later fragments), we need to skip past the content of the
mdat atom, otherwise we end up parsing the content of the mdat
atom as root level atoms.
Signed-off-by: Martin Storsjö <martin@martin.st>
Christophe GISQUET [Tue, 21 Feb 2012 21:36:15 +0000 (22:36 +0100)]
prores: use natural integer type for the codebook index
The operations that use it require it to be promoted to a larger (natural)
type and thus perform sign extension on it.
While an optimal compiler may account for this, gcc 4.6 (for x86 Windows)
fails. Using the natural integer type provides a 2% speedup for Win64
and 1% for Win32.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Alex Converse [Tue, 21 Feb 2012 22:08:02 +0000 (14:08 -0800)]
mov: Add support for MPEG2 HDV 720p24 (hdv4)
Diego Biurrun [Tue, 21 Feb 2012 19:09:31 +0000 (20:09 +0100)]
swscale: K&R formatting cosmetics (part I)
Diego Biurrun [Wed, 15 Feb 2012 10:46:47 +0000 (11:46 +0100)]
swscale: variable declaration and placement cosmetics
Anton Khirnov [Mon, 20 Feb 2012 07:01:48 +0000 (08:01 +0100)]
mpegvideo_enc: only allocate output packet when we know there will be output
Fixes a memleak.
Tim W [Tue, 21 Feb 2012 20:27:03 +0000 (21:27 +0100)]
Add names for more channel layouts to the channel layout map.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Aneesh Dogra [Sun, 19 Feb 2012 18:27:21 +0000 (23:57 +0530)]
sunrast: Add a sample request for RMP_RAW colormap.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Justin Ruggles [Fri, 10 Feb 2012 22:16:18 +0000 (17:16 -0500)]
avcodec: do not override pts or duration from the audio encoder
This allows encoders to set pts and/or duration even if they do not use
CODEC_CAP_DELAY.
Reimar Döffinger [Tue, 21 Feb 2012 17:22:42 +0000 (12:22 -0500)]
Add prores regression test.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Reimar Döffinger [Tue, 21 Feb 2012 17:22:45 +0000 (12:22 -0500)]
Enable already existing rso regression test.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Reimar Döffinger [Tue, 21 Feb 2012 17:22:44 +0000 (12:22 -0500)]
Add regression test for "sox" format muxer/demuxer.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Carl Eugen Hoyos [Tue, 21 Feb 2012 17:22:43 +0000 (12:22 -0500)]
Add dpx encoding regression test.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Diego Biurrun [Tue, 21 Feb 2012 18:58:48 +0000 (19:58 +0100)]
swscale: K&R formatting cosmetics for PowerPC code (part I/II)
Diego Biurrun [Tue, 21 Feb 2012 14:49:41 +0000 (15:49 +0100)]
img2: Use ff_guess_image2_codec(filename) shorthand where appropriate.
Diego Biurrun [Sun, 19 Feb 2012 16:03:55 +0000 (17:03 +0100)]
Clarify licensing information about files borrowed from libjpeg.
Alex Converse [Mon, 20 Feb 2012 08:42:33 +0000 (00:42 -0800)]
Mark mutable static data const where appropriate.
Janne Grunau [Tue, 21 Feb 2012 15:34:08 +0000 (16:34 +0100)]
avplay: fix -threads option
The AVOptions based default to threads auto in
2473a45c8
works only if avplay does not use custom option handling
for -threads.
CC: <libav-stable@libav.org>
Janne Grunau [Fri, 3 Feb 2012 11:06:37 +0000 (12:06 +0100)]
dvbsubdec: avoid undefined signed left shift in RGBA macro
Paul B Mahol [Wed, 15 Feb 2012 17:27:32 +0000 (17:27 +0000)]
mlpdec: use av_log_ask_for_sample()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
Aneesh Dogra [Sun, 19 Feb 2012 18:24:45 +0000 (23:54 +0530)]
gif: K&R formatting cosmetics
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Paul B Mahol [Mon, 20 Feb 2012 20:37:36 +0000 (20:37 +0000)]
png: make .long_name more descriptive
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Martin Storsjö [Tue, 31 Jan 2012 10:45:02 +0000 (12:45 +0200)]
movdec: Adjust keyframe flagging in fragmented files
For video, mark the first sample in a trun which doesn't have the
sample-is-non-sync-sample flag set as a keyframe.
In particular, the "sample does not depend on other samples" flag
isn't enough to make it a keyframe, since later frames still can
reference frames prior to that one (the flag only says that that
particular frame doesn't depend on other frames).
This fixes bug 215.
Signed-off-by: Martin Storsjö <martin@martin.st>
Ronald S. Bultje [Fri, 17 Feb 2012 06:04:14 +0000 (22:04 -0800)]
rv34: change most "int stride" into "ptrdiff_t stride".
This prevents having to sign-extend on 64-bit systems with 32-bit ints,
such as x86-64. Also fixes crashes on systems where we don't do it and
arguments are not in registers, such as Win64 for all weight functions.
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
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
Justin Ruggles [Fri, 13 Jan 2012 04:43:31 +0000 (23:43 -0500)]
adx parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 04:43:30 +0000 (23:43 -0500)]
mlp parser: set duration instead of frame_size
Justin Ruggles [Fri, 13 Jan 2012 05:40:10 +0000 (00:40 -0500)]
gsm parser: set duration
Justin Ruggles [Fri, 13 Jan 2012 02:05:08 +0000 (21:05 -0500)]
mpegaudio 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
Justin Ruggles [Fri, 13 Jan 2012 01:53:09 +0000 (20:53 -0500)]
flac parser: set duration instead of frame_size
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.
Justin Ruggles [Mon, 13 Feb 2012 20:35:00 +0000 (15:35 -0500)]
avutil: add av_rescale_q_rnd() to allow different rounding
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>
Justin Ruggles [Fri, 17 Feb 2012 06:50:57 +0000 (01:50 -0500)]
libmp3lame: support float and s32 sample formats
Justin Ruggles [Fri, 17 Feb 2012 05:04:54 +0000 (00:04 -0500)]
libmp3lame: renaming, rearrangement, alignment, and comments
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.
Justin Ruggles [Fri, 17 Feb 2012 04:06:54 +0000 (23:06 -0500)]
libmp3lame: use avpriv_mpegaudio_decode_header() for output frame parsing
Justin Ruggles [Fri, 17 Feb 2012 03:27:46 +0000 (22:27 -0500)]
libmp3lame: cosmetics: remove some pointless comments
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
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.
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()
Justin Ruggles [Fri, 17 Feb 2012 03:12:03 +0000 (22:12 -0500)]
libmp3lame: improve error handling in MP3lame_encode_init()
Justin Ruggles [Fri, 17 Feb 2012 03:04:08 +0000 (22:04 -0500)]
libmp3lame: remove unneeded 'stereo' field from Mp3AudioContext
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>
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pcxenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
sgienc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
targaenc: switch to encode2().
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.
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
roqvideoenc: switch to encode2().
Anton Khirnov [Sun, 19 Feb 2012 09:01:01 +0000 (10:01 +0100)]
roqvideoenc: add const qualifier to the input frame.
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pnmenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
huffyuv: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
v410enc: switch to encode2().
Anton Khirnov [Fri, 10 Feb 2012 09:30:05 +0000 (10:30 +0100)]
zmbvenc: switch to encode2().
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.
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.
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.
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>
Luca Barbato [Sun, 19 Feb 2012 09:35:45 +0000 (10:35 +0100)]
doxy: remove reference to removed api
Luca Barbato [Sun, 19 Feb 2012 09:34:40 +0000 (10:34 +0100)]
examples: unbreak compilation
Update api so it will compile again.
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>
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>
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>
Anton Khirnov [Fri, 10 Feb 2012 09:30:05 +0000 (10:30 +0100)]
mpegvideo_enc: switch to encode2().
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.
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>
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>
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>
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.
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
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
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
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
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>
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>
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
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
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
Ronald S. Bultje [Fri, 17 Feb 2012 22:51:29 +0000 (14:51 -0800)]
mpc7: assign an error level + context to av_log() msg.
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
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>
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>
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>
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>
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
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
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
pamenc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
svq1enc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
dvenc: switch to encode2().
Anton Khirnov [Mon, 13 Feb 2012 11:00:38 +0000 (12:00 +0100)]
dpxenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
pngenc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
v210enc: switch to encode2().
Anton Khirnov [Sun, 12 Feb 2012 08:32:40 +0000 (09:32 +0100)]
xwdenc: switch to encode2().
Justin Ruggles [Fri, 17 Feb 2012 02:51:03 +0000 (21:51 -0500)]
ttadec: use branchless unsigned-to-signed unfolding
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>
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>
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>