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.
Mans Rullgard [Thu, 19 May 2011 17:34:40 +0000 (18:34 +0100)]
Simplify trig table rules
This collapses the make rules for the trig tables into a pattern
rule. Based on a patch by Diego, modified to avoid using fragile
make constructs and allow future addition of fixed-point sin tables.
Diego Biurrun [Mon, 16 May 2011 12:23:59 +0000 (14:23 +0200)]
configure: Adjust AVX assembler check.
Older nasm versions have trouble assembling certain AVX instructions, but the
current AVX check did not detect this. Update the check to use an instruction
that triggers the nasm problem.
Mans Rullgard [Mon, 16 May 2011 15:52:01 +0000 (16:52 +0100)]
Move some mpegaudio functions to new mpegaudiodsp subsystem
This separation allows these functions to be used in a cleaner
fashion from other codecs (e.g. qdm2) and simplifies creating
optimised versions of them.
Diego Biurrun [Sun, 15 May 2011 15:09:25 +0000 (17:09 +0200)]
Clean up #includes in cmdutils.h.
inttypes.h is not necessary, just stdint.h is enough.
Unconditionally #include avfilter.h in cmdutils.h. It is an installed
header with no non-standard external dependencies, so it is safe.
Mans Rullgard [Wed, 18 May 2011 16:23:47 +0000 (17:23 +0100)]
fate: remove redundant aref and vref references
The ref targets are included in the FATE_[AV]CODEC lists created
by configure so they do not need to be listed separately in the
makefile. Filter them out when setting dependencies to avoid make
warnings about circular deps.