* qatar/master:
swscale: properly inline bits/endianness in yuv2yuvX16inC().
(We didnt pull the bug) swscale: fix clipping of 9/10bit YUV420P.
Add av_clip_uintp2() function
(our patch / duplicate) dfa: fix buffer overflow checks to avoid integer overflows.
(our patch / duplicate) movenc: always write esds descriptor length using 4 bytes.
(our patch / duplicate) ffmpeg: use parse_number_and_die() when it makes sense
(No thanks) ffmpeg: get rid of the 'q' key schizofrenia
* qatar/master: (33 commits)
rtpdec_qdm2: Don't try to parse data packet if no configuration is received
ac3enc: put the counting of stereo rematrixing bits in the same place to make the code easier to understand.
ac3enc: clean up count_frame_bits() and count_frame_bits_fixed()
mpegvideo: make FF_DEBUG_DCT_COEFF output coeffs via av_log() instead of just via AVFrame.
srtdec: make sure we don't write past the end of buffer
wmaenc: improve channel count and bitrate error handling in encode_init()
matroskaenc: make sure we don't produce invalid file with no codec ID
matroskadec: check that pointers were initialized before accessing them
lavf: fix function name in compute_pkt_fields2 av_dlog message
lavf: fix av_find_best_stream when providing a wanted stream.
lavf: fix av_find_best_stream when decoder_ret is given and using a related stream.
ffmpeg: factorize quality calculation
tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
tiff: Prefer enum TiffCompr over int for TiffContext.compr.
mov: Support edit list atom version 1.
configure: Enable libpostproc automatically if GPL code is enabled.
Cosmetics: fix prototypes in oggdec
oggdec: fix memleak with continuous streams.
matroskaenc: add missing new line in av_log() call
dnxhdenc: add AVClass in private context.
...
swscale changes largely rewritten by me or replaced by baptsites due to lots of bugs in ronalds code.
Above code is also just in case its not obvios to a large extended duplicates that where cherry picked
from ffmpeg.
Martin Storsjö [Thu, 12 May 2011 19:47:53 +0000 (22:47 +0300)]
rtpdec_qdm2: Don't try to parse data packet if no configuration is received
The later parsing of payload data depends on the configuration
being present. If it hasn't been configured properly yet,
parsing a data packet may lead to a crash.
Marton Balint [Sun, 20 Feb 2011 00:18:30 +0000 (01:18 +0100)]
lavf: fix av_find_best_stream when providing a wanted stream.
In the main loop, stream_number is incremented after checking the stream type,
so the search usually will not find the wanted stream.
This patch eliminates the useless stream_number variable and introduces a new
one, called real_stream_index to store the real stream index of the current
stream, no matter if we are looping through all the streams or only the streams
of a program.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Anton Khirnov <anton@khirnov.net>
tiff: add support for SamplesPerPixel tag in tiff_decode_tag()
Format detection and internal frame initialization is moved to a
separate init_image() function, which is called when all the tags have
been read, and so both BitsPerSample and SamplesPerPixel information
has been collected.
This fixes decoding of the file 11.tiff from roundup issue #1925.
Based on a patch by Kostya Shishkov <kostya.shishkov@gmail.com>.
Ivan Kalvachev [Thu, 12 May 2011 13:11:27 +0000 (16:11 +0300)]
Fix posix_memalign() usage when libavutil is compiled outside FFmpeg.
To use posix_memalign() "#define _XOPEN_SOURCE 600" have to be defined.
FFmpeg configure defines it from the command line through config.mak,
but when libavutil is used outside of FFmpeg the define is missing.
Signed-off-by: Ivan Kalvachev <ikalvachev@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add an extra size validity check in asf_read_frame_header(). Without
this asf->packet_size_left may become negative, which triggers an
assertion failure later.
Revert "asfdec: fix assert failure on invalid files"
Reverting this pulled change as author considers this change buggy compared to his
original version.
This reverts commit 0bd433a916cd8d98fce47742fbf6d0f90ec941c4.
Thierry Foucu [Wed, 11 May 2011 23:36:39 +0000 (16:36 -0700)]
If a MP3 file contains the string NSVs, the NSV probe will think it is a NSV file instead of a MP3 file. Check for 0xBEEF after a Video/Audio chunck for more accuracy.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diego Biurrun [Fri, 29 Apr 2011 18:17:43 +0000 (20:17 +0200)]
jfdct: Replace sized int_fast integer types with plain int/unsigned.
int/unsigned is the natural memory access type for CPUs, using sized types
for temporary variables, counters and similar just increases code size and
can possibly cause a slowdown.
Diego Biurrun [Wed, 11 May 2011 15:52:51 +0000 (17:52 +0200)]
configure: Do not unconditionally add -D_POSIX_C_SOURCE to CPPFLAGS.
Adding _POSIX_C_SOURCE to CPPFLAGS globally produces all sorts of problems
since it causes certain system functions to be hidden on some (BSD) systems.
The solution is to only add the flag on systems that really require it, i.e.
glibc-based ones.
This change makes BSD systems compile out-of-the-box without the need for
adding specific flags manually. It also allows dropping a number of flags
set manually on a file-per-file basis, but were only present to work around
breakage introduced by the presence of _POSIX_C_SOURCE.
Also add _XOPEN_SOURCE to CPPFLAGS for glibc systems. We use XSI extensions
in several places already, so it is preferable to define it globally instead
of littering source files with individual #defines only needed for glibc.
Thierry Foucu [Thu, 12 May 2011 04:27:04 +0000 (21:27 -0700)]
nsv: Fix misdetection of MP3 files as NSV.
If an MP3 file contains the string NSVs, the NSV probe will confuse it for an
NSV file. Check for 0xBEEF after a Video/Audio chunk to achieve more accuracy.
* qatar/master: (32 commits)
10-bit H.264 x86 chroma v loopfilter asm
Port SMPTE S302M audio decoder from FFmbc 0.3. [Copyright headers corrected]
Fix crash of interlaced MPEG2 decoding
h264pred: fix one more aliasing violation.
doc/APIchanges: fill in missing hashes and dates.
flacenc: use proper initializers for AVOption default values.
lavc: deprecate named constants for deprecated antialias_algo.
aac: workaround for compilation on cygwin
swscale: extend YUV422p support to 10bits depth
tiff: add support for inverted FillOrder for uncompressed data
Remove unused softfloat implementation.
h264pred: fix aliasing violations.
rotozoom: Eliminate French variable name.
rotozoom: Check return value of fread().
rotozoom: Return an error value instead of calling exit().
rotozoom: Make init_demo() return int and check for errors on invocation.
rotozoom: Drop silly UINT8 typedef.
rotozoom: Drop some unnecessary parentheses.
rotozoom: K&R coding style cosmetics
rtsp: Only do keepalive using GET_PARAMETER if the server supports it
...
It seems sws-PPC did hardcode 2048 at various places instead of using VOFW.
This also means that all past VOFW benchmarks on PPC are meaningless Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Ronald S. Bultje [Wed, 11 May 2011 23:15:14 +0000 (19:15 -0400)]
swscale: fix YUV420P 9/10bit support.
Fix handling of input if not in native endianness, and add support for
9/10-bit output. This allows us to force endianness of YUV420P 9/10bit
in the H264/10bit fate tests, which should fix them on big-endian
systems.
The file does not decode correctly yet the checksums match this wrongly
decoded file. Thus the checksums must be wrong. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
framecrc returns different values when one swiches endianness,
this apparently has been missed by "the fork" who added the 10bit fate
tests. Sorry for missing this during the merge. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>