Justin Ruggles [Thu, 26 May 2011 00:12:57 +0000 (20:12 -0400)]
ac3enc: initialize all coefficients to zero.
Uninitialized coefficients were being used to generate exponents, some
of which actually ended up in the final stream. Even though, they were
just extra exponents that are not used by any decoder, it is still
better to have consistent output for testing. This also fixes valgrind
errors.
Martin Storsjö [Wed, 25 May 2011 16:08:29 +0000 (19:08 +0300)]
rtmp: Don't try to do av_malloc(0)
Some received packets can have size 0. The return value from
av_malloc(0) may be NULL, which is ok if the size was 0. On
OS X, however, the returned pointer is non-null but leads to
crashes when trying to free it.
Anton Khirnov [Sun, 22 May 2011 20:12:35 +0000 (22:12 +0200)]
ffmpeg: simplify managing input files and streams
Grow the file and stream list in opt_input_file() instead of creating it
all at once in transcode(). This is simpler and will be useful for
following commits.
Ronald S. Bultje [Tue, 24 May 2011 16:30:55 +0000 (12:30 -0400)]
swscale: remove if(bitexact) branch from functions.
Instead, only set the function pointers if bitexact flag is
not set during initialization. Since a change in flags triggers
a re-init anyway, this doesn't situations where flag values
change during runtime.
Stefano Sabatini [Mon, 23 May 2011 23:17:25 +0000 (01:17 +0200)]
tiff: set palette in the context when specified in TIFF_PAL tag
Since image initialization was moved after tag parsing, the
palette needs to be specified in the context and then copied
to the allocated image in init_image().
Fixes a regression with TIFF images that have palette data,
trac issue #230, file Test_Flate_8bpp.tif.
On Blu-ray colors are stored in the order YCrCb (and not YCbCr) as mentioned in the specifications:
see System Description Blu-ray Disc Read-Only Format, 9.14.4.2.2.1 Palette Definition Segment
When decoding a Blu-ray subtitle, the colors were incorrectly set.
On DVD and HD-DVD colors are stored in the order YCrCb (and not YCbCr) as mentioned in the specifications:
see DVD Specifications for Read-Only Disc / Part 3, 4.3 Program Chain Information (7) PGC_SP_PLT
see DVD Specifications for High Definition Disc, 5.2 Navigation for Standard Content (11) PGC_SDSP_PLT
see DVD Specifications for High Definition Disc, 5.2 Navigation for Standard Content (12) PGC_HDSP_PLT
see DVD Specifications for High Definition Disc, 5.5 Presentation Data (4) SET_COLOR2
When decoding a DVD or HD-DVD subtitle, the colors were incorrectly set.
Ronald S. Bultje [Tue, 24 May 2011 14:19:41 +0000 (10:19 -0400)]
swscale: remove AMD3DNOW "optimizations".
The functions are identical to their MMX counterparts. Thus,
pretending that swscale is highly optimized for AMD3DNOW
extensions is a poorly executed practical joke at best.
Justin Ruggles [Mon, 23 May 2011 15:45:51 +0000 (17:45 +0200)]
ac3enc: add channel coupling support
Channel coupling is an optional AC-3 feature that increases quality by
combining high frequency information from multiple channels into a
single channel. The per-channel high frequency information is sent with
less accuracy in both the frequency and time domains. This allows more
bits to be used for lower frequencies while preserving enough
information to reconstruct the high frequencies.
Diego Biurrun [Sun, 15 May 2011 12:32:15 +0000 (14:32 +0200)]
configure: Add -U__STRICT_ANSI__ to CPPFLAGS on Cygwin and DOS.
In -std=c99 mode GCC defines __STRICT_ANSI__ to hide non-ANSI interfaces.
This causes declarations for some POSIX functions to be omitted from system
headers, which causes compilation failures.
Martin Storsjö [Sun, 22 May 2011 11:40:33 +0000 (14:40 +0300)]
ffmpeg: Don't trigger url_interrupt_cb on the first signal
Currently, the url_interrupt_cb callback will abort all IO
after the first received signal. This makes the output files
from e.g. the mov muxer to be unreadable if the transcode is
aborted with ctrl+c.
After this patch, the first signal cleanly breaks out of
the transcoding loop, but won't forcibly abort all IO.
After the second signal is received, the url_interrupt_cb
callback will abort all IO.
Ronald S. Bultje [Fri, 20 May 2011 14:49:20 +0000 (10:49 -0400)]
LATM/AAC: Free previously initialized context on reinit.
Fixes memory leaks which are the result of overwriting already-initialized
MDCT contexts during context reinitialization, e.g. in valgrind
fate-aac-latm_000000001180bc60.
Mans Rullgard [Fri, 20 May 2011 11:57:12 +0000 (12:57 +0100)]
fate: disable threading for encoding
This explicitly disables threading for encoding as slices are otherwise
automatically activated. This should be dropped once option resetting
between files is fully implemented.
Martin Storsjö [Fri, 20 May 2011 08:33:57 +0000 (11:33 +0300)]
mpegtsenc: Add an AVClass pointer to the private data
Since a private class is set for this muxer, the callers will
assume that the private data starts with an AVClass pointer.
If no such member exists, the first few bytes of the struct
will be overwritten, and the class pointer may be broken at
any later time.
Ronald S. Bultje [Thu, 19 May 2011 20:47:59 +0000 (16:47 -0400)]
h264: correct border check.
When backing up the top-left border, check that the top-left
(rather than left) MB indeed does belong to our slice. If it
doesn't, backing up has no positive effect but may accidentally
interfere with other threads writing in the same space.
Fixes occasional one-off effects when enabling slice-MT.
Diego Biurrun [Sun, 15 May 2011 22:53:07 +0000 (00:53 +0200)]
Rename costablegen.c ---> cos_tablegen.c.
This is consistent with how all other table generation programs are named.
Moreover this ensures that the cos table generation program is correctly
deleted when cleaning the tree.