1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-07-16 22:42:38 +02:00
Commit Graph

36002 Commits

Author SHA1 Message Date
5d47850bbd dcadec: skip QMF on unused channels
When the extra rear channel is present but unused, the
s->channel_order_tab[] value for that channel is -1. The QMF can be
skipped for the extra channel, and doing so avoids an out-of-array read
on s->samples_chanptr[].

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-26 22:50:37 -05:00
2fe0094e0b wavenc: write fact chunk sample count at the correct file position
Fixes curruption of metadata in the INFO chunk.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-26 19:11:10 -05:00
259d8c5647 riff: do not add empty metadata tags in INFO chunk 2012-11-26 19:08:51 -05:00
3c370f5abc riff: only warn on a bad INFO chunk code size instead of failing
fixes Bug 392
2012-11-26 19:08:51 -05:00
d89f2fa970 configure: Add separate list for libraries and use where appropriate 2012-11-26 22:46:07 +01:00
947f933687 x86: float_dsp: add SSE version of vector_fmul_scalar() 2012-11-26 11:30:19 -05:00
284ea790d8 dsputil: move vector_fmul_scalar() to AVFloatDSPContext in libavutil 2012-11-26 11:29:06 -05:00
1e27655388 aacenc: use the correct output buffer
This fixes segfault caused by 3d3cf6745e
when SingleChannelElement.ret was renamed to SingleChannelElement.ret_buf.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-26 11:17:17 -05:00
edd80ec7e3 aacdec: fix signed overflows in lcg_random()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-26 13:34:58 +00:00
dd3b73f390 base64: fix signed overflow in shift
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-26 13:34:58 +00:00
7709ce029a lavf: avoid integer overflow in ff_compute_frame_duration()
Scaling the denominator instead of the numerator if it is too large
loses precision. Fixes an assert caused by a negative frame duration in
the fuzzed sample nasa-8s2.ts_s202310.

CC: libav-stable@libav.org
2012-11-26 10:26:08 +01:00
5ae72f5453 flashsv: check for keyframe before using differential coding
Fixes a segfault in te fuzzed sample resolutionchange.flv_s211713.

CC: libav-stable@libav.org
2012-11-26 10:26:01 +01:00
706acb558a h264: enable low delay only if no delayed frames were seen
Dropping frames is undesirable but that is the only way by which the
decoder could return to low delay mode. Instead emit a warning and
continue with delayed frames.
Fixes a crash in fuzzed sample nasa-8s2.ts_s20033 caused by a larger
than expected has_b_frames value. Low delay keeps getting re-enabled
from a presumely broken SPS.

CC: libav-stable@libav.org
2012-11-26 10:25:39 +01:00
7ee4071362 x86: fix build without inline asm
The qpel functions referenced here are not related to h264 and should
thus never have been under CONFIG_H264QPEL.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-26 01:50:47 +01:00
3d3cf6745e aacdec: use float planar sample format for output 2012-11-25 19:06:36 -05:00
8e134e5104 lavc: clarify get_buffer() documentation
This is needed for the AAC decoder, which may need to call get_buffer()
more than once if the channel configuration changes.
2012-11-25 19:06:36 -05:00
3ffed68c2a mpegaudiodec: use planar sample format for output unless packed is requested 2012-11-25 19:05:58 -05:00
2d3993ce8c x86: h264 qpel: use the correct number of utilized xmm regs in cglobal
Fixes xmm register clobbering on win64.
2012-11-25 18:48:43 -05:00
e96d90eed6 remove #defines to prevent use of discouraged external functions
Preventing the use of discouraged or 'insecure' external functions
through defines in an internal header is not a good solution. The
header is not guaranteed to be included universally which makes
overlooking bad use of said functions during review more likely.

There are cases were those functions either are the most straight
forward solution or even have to be used. Using malloc or free is
required if the allocation or release is done by other libraries.
2012-11-25 23:02:04 +01:00
610e00b359 x86: h264: Convert 8-bit QPEL inline assembly to YASM
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 20:38:35 +01:00
ad01ba6cea x86: h264: Remove 3dnow QPEL code
The only CPUs that have 3dnow and don't have mmxext are 12 years old.
Moreover, AMD has dropped 3dnow extensions from newer CPUs.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 20:32:55 +01:00
28c8e288fa x86: h264_chromamc: port to cpuflags 2012-11-25 17:25:10 +01:00
b491da18d1 yop: fix typo
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-11-25 11:10:52 -05:00
4632abc7a3 avconv: fix copying per-stream metadata.
It is handled separately from other types because it uses stream
specifiers and currently that triggers an assert in SET_DICT.

CC:libav-stable@libav.org
2012-11-25 16:35:20 +01:00
2bf794b698 doc: avtools-common-opts: Fix terminology concerning metric prefixes
'k', 'M', and 'G' are SI (unit) prefixes or metric prefixes,
not 'number postfixes'. Also, the statement regarding binary
prefixes ("powers of 2 are used instead of powers of 10")
might be misinterpreted (1 kB = 10^3 B, but 1 KiB != 2^3 B).

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 14:26:39 +01:00
f2ce813e37 configure: suncc: Add compiler arch support for Nehalem & Sandy Bridge
GCC does not appear to have a -march= string for Westmere, which is a
bit surprising as it has a few more instructions than a Nehalem, but
a few less than a Sandy Bridge.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-25 14:15:30 +01:00
ddb009425c riff: Make ff_riff_tags static and move under appropriate #ifdef
The table is not used outside the file.
2012-11-25 13:32:10 +01:00
33db40f8d3 configure: sort cpuflags section by architecture
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:07:23 +00:00
457cc333b4 configure: properly support DEC/Compaq compiler
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:07:11 +00:00
4a606c830a av_memcpy_backptr: optimise some special cases
- Add special cases for offsets of 2, 3, or 4 bytes.  This means the
  offset is always >4 in the generic case, allowing 32-bit copies to
  be used there.
- Don't use memcpy() for sizes less than 16 bytes.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:04:17 +00:00
5e39bb073a mpegvideo: simplify dxy calculation in hpel_motion()
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:03:54 +00:00
c262649291 build: add rules to generate preprocessed source files
This is useful for debugging.  Dependencies for these files are not
generated due to limitations in many compilers.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-23 12:03:32 +00:00
9ae80e6a9c id3v2: fix reading unsynchronized frames.
Current code would incorrectly process e.g. 'ff 00 ff 00 ff' to
'ff ff ff', while it should be 'ff ff 00 ff'.

Fixes Bug 395.

CC: libav-stable@libav.org
2012-11-22 13:40:04 +01:00
0d3123666a cdgraphics: fix incorrect vertical offset mask in cdg_scroll()
The vertical offset mask 0x07 is suspicious.

    v_off = FFMIN(data[2] & 0x07, CDG_BORDER_HEIGHT - 1);

Note that v_off is up to 11 (CDG_BORDER_HEIGHT - 1), the correct mask
should be 0x0F.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-21 14:35:26 +01:00
b655cfefaf apetag: fix error handling in ff_ape_parse_tag()
The following error handling is broken due to signedness.

    int file_size;
    uint32_t tag_bytes;
    int64_t tag_start;
    ...
    tag_start = file_size - tag_bytes - APE_TAG_FOOTER_BYTES;
    if (tag_start < 0) { ... }

Note that tag_bytes is unsigned, which makes the right-hand side of
`tag_start = ...' unsigned, too.  The 32-bit unsigned value is then
zero-extended to 64 bits.  Therefore, tag_start must be non-negative,
and the check (tag_start < 0) is always false, which breaks the error
handling.  This patch fixes the check.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-11-21 14:35:26 +01:00
17fecb4a59 flashsv: Drop unused function and struct parameters 2012-11-21 11:49:41 +01:00
00dd9a6d6a pcm: fix decoding of pcm_s16le_planar on big-endian
The sample count is decremented by the DECODE() macro and needs to be reset
in each loop iteration. Also, DECODE() increments the src pointer so that does
not need to be done separately.
2012-11-20 10:52:49 -05:00
ae3822bca1 imgconvert: remove PixFmtInfo
It is pleonastic and was used in stale functions pending replacement.
2012-11-20 12:45:58 +01:00
d1d9efaae6 avcodec: split avpicture from imgconvert
All the non deprecated functions are in avpicture.c now.
2012-11-20 12:45:58 +01:00
cbe5a60c9d pixdesc: add PIX_FMT_ALPHA flag 2012-11-20 12:45:58 +01:00
b353321caa FATE: add 24-bit ALAC tests 2012-11-20 00:26:46 -05:00
3e6c2a67a1 FATE: rename ALAC tests from alac-* to alac-16-*
This will distinguish ALAC 16-bit tests from ALAC tests with other bit
depths.
2012-11-20 00:26:45 -05:00
7c278d2ae4 alacenc: support 24-bit encoding 2012-11-20 00:26:45 -05:00
c9d0f4506f pcmdec: use planar sample format for pcm_s16le_planar 2012-11-19 23:48:37 -05:00
79b7747556 vorbisdec: use float planar sample format 2012-11-19 23:48:37 -05:00
89923fce70 x86: h264_intrapred: Fix C function names in comments
Function names changed after switching to declaration with
PRED4x4/8x8/8x8L/16x16 macros in the C code.
2012-11-18 18:34:05 +01:00
87af05c575 x86: SPLATD: port to cpuflags 2012-11-18 18:34:05 +01:00
1c5805521c PGS subtitles: Set AVSubtitle pts value
pts should be that of the packet containing the presentation segment.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-11-18 18:34:05 +01:00
3bd1eacd2a configure: Refactor CPPFLAGS settings for glibc/uclibc
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:18 +00:00
5873b623a9 configure: add basic support for ARM AArch64
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-11-18 12:00:18 +00:00