]> git.sesse.net Git - ffmpeg/log
ffmpeg
12 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

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

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

12 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

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

12 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

12 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

12 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

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

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

12 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

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

12 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

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

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

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

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

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

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

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

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

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

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

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

12 years agoa64multienc: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 09:21:07 +0000 (10:21 +0100)]
a64multienc: switch to encode2().

We have no decoder, so cannot test if the output is decodable.

12 years agoa64multienc: don't write into output buffer when there's no output.
Anton Khirnov [Thu, 23 Feb 2012 09:04:57 +0000 (10:04 +0100)]
a64multienc: don't write into output buffer when there's no output.

12 years agolibxvid: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 07:19:13 +0000 (08:19 +0100)]
libxvid: switch to encode2().

12 years agotiffenc: switch to encode2().
Anton Khirnov [Thu, 23 Feb 2012 08:00:34 +0000 (09:00 +0100)]
tiffenc: switch to encode2().

12 years agotiffenc: properly forward error codes in encode_frame().
Anton Khirnov [Thu, 23 Feb 2012 07:51:45 +0000 (08:51 +0100)]
tiffenc: properly forward error codes in encode_frame().

12 years agolavc: drop libdirac encoder.
Anton Khirnov [Wed, 22 Feb 2012 20:19:35 +0000 (21:19 +0100)]
lavc: drop libdirac encoder.

Libschroedinger is the preferred way to encode dirac video now, it
produces better output and has a nicer API.

12 years agogifenc: switch to encode2().
Anton Khirnov [Thu, 5 Jan 2012 15:55:33 +0000 (16:55 +0100)]
gifenc: switch to encode2().

12 years agolibvpxenc: switch to encode2().
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
libvpxenc: switch to encode2().

12 years agoflashsvenc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
flashsvenc: switch to encode2().

12 years agoRemove libpostproc.
Diego Biurrun [Thu, 23 Feb 2012 16:17:01 +0000 (17:17 +0100)]
Remove libpostproc.

This library does not fit into Libav as a whole and its code is just a
maintenance burden.  Furthermore it is now available as an external project,
which completely obviates any reason to keep it around.

URL: http://git.videolan.org/?p=libpostproc.git

12 years agolcl: don't overwrite input memory.
Ronald S. Bultje [Wed, 22 Feb 2012 22:22:56 +0000 (14:22 -0800)]
lcl: don't overwrite input memory.

If the PNG filter is enabled, a PNG-style filter will run over the
input buffer, writing into the buffer. Therefore, if no zlib compression
was used, ensure that we copy into a temporary buffer, otherwise we
overwrite user-provided input data.

12 years agoswscale: take first/lastline over/underflows into account for MMX.
Ronald S. Bultje [Thu, 23 Feb 2012 00:48:38 +0000 (16:48 -0800)]
swscale: take first/lastline over/underflows into account for MMX.

Fixes crashes for extremely large resizes (several 100-fold).

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agoswscale: fix underflows in firstline calculations for extreme resizes.
Ronald S. Bultje [Thu, 23 Feb 2012 00:47:14 +0000 (16:47 -0800)]
swscale: fix underflows in firstline calculations for extreme resizes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agoswscale: fix overflows in filterPos[] calculation for large sizes.
Ronald S. Bultje [Thu, 23 Feb 2012 00:46:31 +0000 (16:46 -0800)]
swscale: fix overflows in filterPos[] calculation for large sizes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agolibxavs: switch to encode2().
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
libxavs: switch to encode2().

12 years agolibxavs: add an AVClass at the beginning of XavsContext.
Anton Khirnov [Tue, 21 Feb 2012 21:57:59 +0000 (22:57 +0100)]
libxavs: add an AVClass at the beginning of XavsContext.

12 years agolibxavs: split extradata writing out of encode_nals().
Anton Khirnov [Mon, 6 Feb 2012 06:34:57 +0000 (07:34 +0100)]
libxavs: split extradata writing out of encode_nals().

This is done in preparation for the following patch implementing
encode2().

This commit is analogous to 05d699222dd5af4f5775f9890aa825ede05a144f for
libx264.

12 years agoljpegenc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
ljpegenc: switch to encode2().

12 years agotruemotion2: error out if the huffman tree has no nodes.
Ronald S. Bultje [Wed, 22 Feb 2012 20:19:52 +0000 (12:19 -0800)]
truemotion2: error out if the huffman tree has no nodes.

This prevents crashers and errors further down when reading nodes in the
empty tree.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agortpenc: Add an error message
Martin Storsjö [Sat, 4 Sep 2010 22:10:54 +0000 (01:10 +0300)]
rtpenc: Add an error message

Also return a proper error code.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agortpenc: Allow packetizing H263 according to the old RFC 2190
Martin Storsjö [Tue, 7 Feb 2012 14:39:14 +0000 (16:39 +0200)]
rtpenc: Allow packetizing H263 according to the old RFC 2190

According to newer RFCs, this packetization scheme should only
be used for interfacing with legacy systems.

Implementing this packetization mode properly requires parsing
the full H263 bitstream to find macroblock boundaries (and knowing
their macroblock and gob numbers and motion vector predictors).

This implementation tries to look for GOB headers (which
can be inserted by using -ps <small number>), but if the GOBs
aren't small enough to fit into the MTU, the packetizer blindly
splits packets at any offset and claims it to be a GOB boundary
(by using Mode A from the RFC). While not correct, this seems
to work with some receivers.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agortpenc: Move the trailing comma into FF_RTP_FLAG_OPTS
Martin Storsjö [Thu, 23 Feb 2012 09:38:24 +0000 (11:38 +0200)]
rtpenc: Move the trailing comma into FF_RTP_FLAG_OPTS

This simplifies adding more flags to the macro.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agoasv1enc: switch to encode2().
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
asv1enc: switch to encode2().

12 years agolibschroedingerenc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
libschroedingerenc: switch to encode2().

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

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

12 years agojpeglsenc: switch to encode2().
Anton Khirnov [Wed, 22 Feb 2012 06:38:13 +0000 (07:38 +0100)]
jpeglsenc: switch to encode2().

12 years agolclenc: switch to encode2().
Anton Khirnov [Mon, 20 Feb 2012 12:21:58 +0000 (13:21 +0100)]
lclenc: switch to encode2().

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

12 years agoflacdec: set channel_layout based on channel count
Justin Ruggles [Fri, 10 Feb 2012 03:44:10 +0000 (22:44 -0500)]
flacdec: set channel_layout based on channel count

Channel layouts are specified in the FLAC format description at
http://flac.sourceforge.net/format.html

fixes Bug 209

12 years agomov: set channel layout for AC-3 streams based on the 'dac3' atom info
Justin Ruggles [Sun, 12 Feb 2012 20:06:58 +0000 (15:06 -0500)]
mov: set channel layout for AC-3 streams based on the 'dac3' atom info

fixes Bug 225

12 years agoswscale: fix filtersize clipping.
Ronald S. Bultje [Wed, 22 Feb 2012 22:51:37 +0000 (14:51 -0800)]
swscale: fix filtersize clipping.

if srcW<=2, clip(x, 1, srcW-2) still allows srcW to be < 1.

12 years agodxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex
Rafaël Carré [Mon, 6 Feb 2012 21:08:08 +0000 (16:08 -0500)]
dxva2: don't check for DXVA_PictureParameters->wDecodedPictureIndex

This structure is well defined by Microsoft at:
http://msdn.microsoft.com/en-us/library/windows/hardware/ff564012(v=vs.85).aspx
Thus, the wDecodedPictureIndex member is guaranteed to exist.

Also, both the MPEG-2 and VC-1 hwaccel decoders depend on this struct member,
but only the VC-1 decoder was disabled if the check failed.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agoimg2: split muxer and demuxer into separate files
Paul B Mahol [Tue, 21 Feb 2012 21:07:56 +0000 (21:07 +0000)]
img2: split muxer and demuxer into separate files

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
12 years agorm: prevent infinite loops for index parsing.
Ronald S. Bultje [Wed, 22 Feb 2012 19:33:24 +0000 (11:33 -0800)]
rm: prevent infinite loops for index parsing.

Specifically, prevent jumping back in the file for the next index, since
this can lead to infinite loops where we jump between indexes referring
to each other, and don't read indexes that don't fit in the file.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agoaac: fix infinite loop on end-of-frame with sequence of 1-bits.
Alex Converse [Wed, 22 Feb 2012 19:05:42 +0000 (11:05 -0800)]
aac: fix infinite loop on end-of-frame with sequence of 1-bits.

Based-on-work-by: Ronald S. Bultje <rsbultje@gmail.com>
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agomov: Add more HDV and XDCAM FourCCs.
Alex Converse [Tue, 21 Feb 2012 23:37:35 +0000 (15:37 -0800)]
mov: Add more HDV and XDCAM FourCCs.

Reference: VLC

12 years agolavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().
Anton Khirnov [Thu, 5 Jan 2012 15:55:33 +0000 (16:55 +0100)]
lavf: don't set AVCodecContext.has_b_frames in compute_pkt_fields().

It is not supposed to be done outside lavc.

This is basically a revert of 818062f2f346df30f4ec0c0c1f54e8025cc3a80a.

It is unclear what issue this was supposed to fix, if it reappears again
it will have to be fixed in a more proper place.

The wtv-demux test change is because the sample starts with a B-frame.

12 years agormdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.
Ronald S. Bultje [Tue, 21 Feb 2012 18:36:27 +0000 (10:36 -0800)]
rmdec: when using INT4 deinterleaving, error out if sub_packet_h <= 1.

We read sub_packet_h / 2 packets per line of data (during deinterleaving),
which equals zero if sub_packet_h <= 1, thus causing us to not read any
data, leading to an infinite loop.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
12 years agocdxl: correctly synchronize video timestamps to audio
Paul B Mahol [Tue, 21 Feb 2012 18:15:51 +0000 (18:15 +0000)]
cdxl: correctly synchronize video timestamps to audio

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
12 years agomlpdec_parser: fix a few channel layouts.
Tim Walker [Wed, 22 Feb 2012 15:09:42 +0000 (16:09 +0100)]
mlpdec_parser: fix a few channel layouts.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
12 years agoAdd channel names to channel_names[] array for channels added in b2890f5
Tim Walker [Wed, 22 Feb 2012 14:43:22 +0000 (15:43 +0100)]
Add channel names to channel_names[] array for channels added in b2890f5

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
12 years agomovenc: Buffer the mdat for the initial moov fragment, too
Martin Storsjö [Thu, 2 Feb 2012 10:50:26 +0000 (12:50 +0200)]
movenc: Buffer the mdat for the initial moov fragment, too

This allows writing QuickTime-compatible fragmented mp4 (with
a non-empty moov atom) to a non-seekable output.

This buffers the mdat for the initial fragment just as it does
for all normal fragments, too. Previously, the resulting
atom structure was mdat,moov, moof,mdat ..., while it now
is moov,mdat, moof,mdat.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agoflvdec: Ignore the index if the ignidx flag is set
Martin Storsjö [Wed, 22 Feb 2012 09:26:42 +0000 (11:26 +0200)]
flvdec: Ignore the index if the ignidx flag is set

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agoflvdec: Fix indentation
Martin Storsjö [Wed, 22 Feb 2012 09:00:35 +0000 (11:00 +0200)]
flvdec: Fix indentation

Also split a long line.

Signed-off-by: Martin Storsjö <martin@martin.st>
12 years agomovdec: Don't parse all fragments if ignidx is set
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>
12 years agomovdec: Restart parsing root-level atoms at the right spot
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>
12 years agoprores: use natural integer type for the codebook index
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>
12 years agomov: Add support for MPEG2 HDV 720p24 (hdv4)
Alex Converse [Tue, 21 Feb 2012 22:08:02 +0000 (14:08 -0800)]
mov: Add support for MPEG2 HDV 720p24 (hdv4)

12 years agoswscale: K&R formatting cosmetics (part I)
Diego Biurrun [Tue, 21 Feb 2012 19:09:31 +0000 (20:09 +0100)]
swscale: K&R formatting cosmetics (part I)

12 years agoswscale: variable declaration and placement cosmetics
Diego Biurrun [Wed, 15 Feb 2012 10:46:47 +0000 (11:46 +0100)]
swscale: variable declaration and placement cosmetics

12 years agompegvideo_enc: only allocate output packet when we know there will be output
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.

12 years agoAdd names for more channel layouts to the channel layout map.
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>
12 years agosunrast: Add a sample request for RMP_RAW colormap.
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>