ffmpeg.git
8 years agowmall: fix build with -DDEBUG enabled.
Ronald S. Bultje [Wed, 7 Mar 2012 18:40:15 +0000 (10:40 -0800)]
wmall: fix build with -DDEBUG enabled.

8 years agosmc: port to bytestream2 API.
Ronald S. Bultje [Wed, 29 Feb 2012 22:44:37 +0000 (14:44 -0800)]
smc: port to bytestream2 API.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoAAC SBR: group some writes.
Christophe Gisquet [Tue, 28 Feb 2012 10:20:02 +0000 (11:20 +0100)]
AAC SBR: group some writes.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agodsputil: remove shift parameter from scalarproduct_int16
Christophe GISQUET [Sat, 3 Mar 2012 14:09:36 +0000 (15:09 +0100)]
dsputil: remove shift parameter from scalarproduct_int16

There is only one caller, which does not need the shifting. Other use cases
are situations where different roundings would be needed.

The x86 and neon versions are modified accordingly.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agoSBR DSP: unroll sum_square
Christophe GISQUET [Wed, 22 Feb 2012 16:48:59 +0000 (17:48 +0100)]
SBR DSP: unroll sum_square

The length is even, so some unrolling can be performed. Timings are for x86:
- 32bits: 102c -> 82c
- 64bits:  82c -> 69c

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agorv34: remove dead code in intra availability check
Christophe GISQUET [Thu, 23 Feb 2012 18:10:32 +0000 (19:10 +0100)]
rv34: remove dead code in intra availability check

This was an incorrect copy-and-paste to a code not needing the original code.
Spotted by Jason in a previous review but forgotten in the commit.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agorv34: clean a bit availability checks.
Christophe GISQUET [Mon, 16 Jan 2012 19:54:26 +0000 (20:54 +0100)]
rv34: clean a bit availability checks.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agov4l2: update documentation
Luca Barbato [Sat, 3 Mar 2012 11:24:56 +0000 (12:24 +0100)]
v4l2: update documentation

Update the examples and remove stale information.
Video4linux support had been already removed.

8 years agotgq: convert to bytestream2 API.
Ronald S. Bultje [Tue, 6 Mar 2012 22:18:32 +0000 (14:18 -0800)]
tgq: convert to bytestream2 API.

This protects against input buffer overreads.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoparser: remove forward declaration of MpegEncContext
Paul B Mahol [Wed, 7 Mar 2012 07:16:37 +0000 (07:16 +0000)]
parser: remove forward declaration of MpegEncContext

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agodca: prevent accessing static arrays with invalid indexes.
Ronald S. Bultje [Wed, 29 Feb 2012 02:11:59 +0000 (18:11 -0800)]
dca: prevent accessing static arrays with invalid indexes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoraw: move buffer size check up.
Ronald S. Bultje [Wed, 7 Mar 2012 00:08:10 +0000 (16:08 -0800)]
raw: move buffer size check up.

This way, it protects against overreads for 4bpp/2bpp content also.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agolpcm: fix sample size calculation for 20bit LCPM.
Ronald S. Bultje [Wed, 7 Mar 2012 04:08:17 +0000 (20:08 -0800)]
lpcm: fix sample size calculation for 20bit LCPM.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoswscale: clip unscaled output intermediates.
Ronald S. Bultje [Tue, 6 Mar 2012 22:35:24 +0000 (14:35 -0800)]
swscale: clip unscaled output intermediates.

Fixes bug 240, as well as several integer overflows (visible as glitches)
in other scaling output routines, e.g. YUV422.

8 years agosmacker: error out if palette copy-with-offset overruns palette size.
Ronald S. Bultje [Wed, 7 Mar 2012 01:24:20 +0000 (17:24 -0800)]
smacker: error out if palette copy-with-offset overruns palette size.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoalgmm: convert to bytestream2 API.
Ronald S. Bultje [Tue, 6 Mar 2012 23:15:42 +0000 (15:15 -0800)]
algmm: convert to bytestream2 API.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agowma: Refactor common code to fix standalone compilation of WMA lossless decoder.
Diego Biurrun [Tue, 6 Mar 2012 18:07:10 +0000 (19:07 +0100)]
wma: Refactor common code to fix standalone compilation of WMA lossless decoder.

8 years agovc1: Move init code shared between decoder and parser to common code file.
Diego Biurrun [Tue, 6 Mar 2012 17:59:03 +0000 (18:59 +0100)]
vc1: Move init code shared between decoder and parser to common code file.

This fixes standalone compilation of the VC-1 parser.

8 years agox86: Remove duplicated AVG_3DNOW_OP / AVG_MMX2_OP macros from h264_qpel_mmx.c.
Diego Biurrun [Tue, 6 Mar 2012 11:59:41 +0000 (12:59 +0100)]
x86: Remove duplicated AVG_3DNOW_OP / AVG_MMX2_OP macros from h264_qpel_mmx.c.

8 years agomov: Allow last chunk to have an arbitrary number of samples.
Carl Eugen Hoyos [Sat, 3 Dec 2011 11:29:41 +0000 (12:29 +0100)]
mov: Allow last chunk to have an arbitrary number of samples.

Fixes ticket #673.
(cherry picked from commit 8dcd2a41ecff8cc1e9b20cc267df54c59878ab3b)

Signed-off-by: Alex Converse <alex.converse@gmail.com>
8 years agoSBR DSP: fix SSE code to not use SSE2 instructions.
Reimar Döffinger [Tue, 6 Mar 2012 21:11:30 +0000 (22:11 +0100)]
SBR DSP: fix SSE code to not use SSE2 instructions.

movq from SSE register _to_ memory is an SSE2 instruction.
Use the SSE movlps function instead that does the same thing.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agocpu: initialize mask to -1, so that by default, optimizations are used.
Ronald S. Bultje [Tue, 6 Mar 2012 20:47:23 +0000 (12:47 -0800)]
cpu: initialize mask to -1, so that by default, optimizations are used.

8 years agoerror_resilience: initialize s->block_index[].
Ronald S. Bultje [Tue, 6 Mar 2012 18:27:05 +0000 (10:27 -0800)]
error_resilience: initialize s->block_index[].

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agosvq3: protect against negative quantizers.
Ronald S. Bultje [Tue, 6 Mar 2012 01:03:32 +0000 (17:03 -0800)]
svq3: protect against negative quantizers.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoDon't use ff_cropTbl[] for IDCT.
Ronald S. Bultje [Tue, 6 Mar 2012 00:01:19 +0000 (16:01 -0800)]
Don't use ff_cropTbl[] for IDCT.

Results of IDCT can by far outreach the range of ff_cropTbl[], leading
to overreads and potentially crashes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoswscale: make filterPos 32bit.
Ronald S. Bultje [Mon, 5 Mar 2012 20:26:42 +0000 (12:26 -0800)]
swscale: make filterPos 32bit.

Fixes overflows for large image sizes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
8 years agoFATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.
Anton Khirnov [Mon, 5 Mar 2012 07:05:56 +0000 (08:05 +0100)]
FATE: add CPUFLAGS variable, mapping to -cpuflags avconv option.

8 years agoavconv: add -cpuflags option for setting supported cpuflags.
Anton Khirnov [Sun, 4 Mar 2012 15:46:45 +0000 (16:46 +0100)]
avconv: add -cpuflags option for setting supported cpuflags.

Useful for testing.

8 years agocpu: add av_set_cpu_flags_mask().
Anton Khirnov [Sun, 4 Mar 2012 15:08:48 +0000 (16:08 +0100)]
cpu: add av_set_cpu_flags_mask().

8 years agolibx264: Allow overriding the sliced threads option
Martin Storsjö [Mon, 5 Mar 2012 19:54:17 +0000 (21:54 +0200)]
libx264: Allow overriding the sliced threads option

Signed-off-by: Martin Storsjö <martin@martin.st>
8 years agoavconv: fix counting encoded video size.
Anton Khirnov [Tue, 6 Mar 2012 07:57:58 +0000 (08:57 +0100)]
avconv: fix counting encoded video size.

avcodec_encode_video2() return value is 0 on success, encoded frame size
is stored in the packet.

8 years agocdxl demux: do not create packets with uninitialized data at EOF.
Reimar Döffinger [Sun, 26 Feb 2012 22:47:41 +0000 (22:47 +0000)]
cdxl demux: do not create packets with uninitialized data at EOF.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agoReplace computations of remaining bits with calls to get_bits_left().
Alex Converse [Mon, 5 Mar 2012 01:53:50 +0000 (17:53 -0800)]
Replace computations of remaining bits with calls to get_bits_left().

8 years agoamrnb/amrwb: Remove get_bits usage.
Alex Converse [Mon, 5 Mar 2012 01:24:38 +0000 (17:24 -0800)]
amrnb/amrwb: Remove get_bits usage.

It is used to parse fixed sized fields out of a single octet. The code
is simpler without it.

8 years agocosmetics: reindent
Justin Ruggles [Mon, 27 Feb 2012 23:16:11 +0000 (18:16 -0500)]
cosmetics: reindent

8 years agoavformat: do not require a pixel/sample format if there is no decoder
Justin Ruggles [Mon, 27 Feb 2012 23:02:10 +0000 (18:02 -0500)]
avformat: do not require a pixel/sample format if there is no decoder

Also, do not keep trying to find and open a decoder in try_decode_frame() if
we already tried and failed once.

Fixes always searching until max_analyze_duration in
avformat_find_stream_info() when demuxing codecs without a decoder.

8 years agoavformat: do not fill-in audio packet duration in compute_pkt_fields()
Justin Ruggles [Mon, 27 Feb 2012 23:07:07 +0000 (18:07 -0500)]
avformat: do not fill-in audio packet duration in compute_pkt_fields()

Use the estimated duration only to calculate missing timestamps if needed.

8 years agolavf: Use av_get_audio_frame_duration() in get_audio_frame_size()
Justin Ruggles [Mon, 27 Feb 2012 20:54:41 +0000 (15:54 -0500)]
lavf: Use av_get_audio_frame_duration() in get_audio_frame_size()

Also, do not give AVCodecContext.frame_size priority for muxing.

Updated 2 FATE references:
dxa-feeble - adds 1 audio frame that is still within 2 seconds as specified
             by -t 2 in the FATE test
wmv8-drm-nodec - durations are not needed. previously they were estimated
                 using the packet size and average bit rate.

8 years agodca_parser: parse the sample rate and frame durations
Justin Ruggles [Mon, 27 Feb 2012 18:58:01 +0000 (13:58 -0500)]
dca_parser: parse the sample rate and frame durations

8 years agolibspeexdec: do not set AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 16:18:33 +0000 (11:18 -0500)]
libspeexdec: do not set AVCodecContext.frame_size

It is not necessary

8 years agolibopencore-amr: do not set AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 16:15:17 +0000 (11:15 -0500)]
libopencore-amr: do not set AVCodecContext.frame_size

It is not necessary

8 years agoalsdec: do not set AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 16:02:33 +0000 (11:02 -0500)]
alsdec: do not set AVCodecContext.frame_size

It is not necessary

8 years agosiff: do not set AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 04:27:21 +0000 (23:27 -0500)]
siff: do not set AVCodecContext.frame_size

also, properly set AVCodecContext.bits_per_coded_sample, AVStreasm.start_time,
and AVPacket.duration.

8 years agoamr demuxer: do not set AVCodecContext.frame_size.
Justin Ruggles [Mon, 27 Feb 2012 04:12:03 +0000 (23:12 -0500)]
amr demuxer: do not set AVCodecContext.frame_size.

it is not necessary.

8 years agoaiffdec: do not set AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 03:55:52 +0000 (22:55 -0500)]
aiffdec: do not set AVCodecContext.frame_size

It is unnecessary. Also, for some codecs we're reading more than 1 frame per
packet. Instead we use a private context variable to calculate the bit rate,
stream duration, and packet durations.

Updated FATE seek test, which has slightly different timestamps due to a
more accurate bit rate calculation.

8 years agomov: do not set AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 02:03:04 +0000 (21:03 -0500)]
mov: do not set AVCodecContext.frame_size

It is not necessary.

8 years agoape: do not set AVCodecContext.frame_size.
Justin Ruggles [Tue, 24 Jan 2012 23:25:47 +0000 (18:25 -0500)]
ape: do not set AVCodecContext.frame_size.

prevents lavf from setting incorrect packet durations.

8 years agordt: remove workaround for infinite loop with aac
Justin Ruggles [Mon, 27 Feb 2012 09:08:44 +0000 (04:08 -0500)]
rdt: remove workaround for infinite loop with aac

avformat_find_stream_info() no longer hangs while waiting for AAC frame_size

8 years agoavformat: do not require frame_size in avformat_find_stream_info() for CELT
Justin Ruggles [Mon, 27 Feb 2012 07:46:03 +0000 (02:46 -0500)]
avformat: do not require frame_size in avformat_find_stream_info() for CELT

In Ogg/CELT, frame_size is found in the same place as the sample_rate and
channels, so we do not need to force the frame_size to be parsed.

8 years agoavformat: do not require frame_size in avformat_find_stream_info() for MP1/2/3
Justin Ruggles [Mon, 27 Feb 2012 07:42:22 +0000 (02:42 -0500)]
avformat: do not require frame_size in avformat_find_stream_info() for MP1/2/3

It was only needed to avoid a bad time base (and thus non-monotone timestamps)
for stream copy to avi.

8 years agoavformat: do not require frame_size in avformat_find_stream_info() for AAC
Justin Ruggles [Mon, 27 Feb 2012 05:50:16 +0000 (00:50 -0500)]
avformat: do not require frame_size in avformat_find_stream_info() for AAC

We already will get the needed info because of CODEC_CAP_CHANNEL_CONF

8 years agoswfenc: use av_get_audio_frame_duration() instead of AVCodecContext.frame_size
Justin Ruggles [Mon, 27 Feb 2012 08:09:44 +0000 (03:09 -0500)]
swfenc: use av_get_audio_frame_duration() instead of AVCodecContext.frame_size

This way we can do stream copy without having the demuxer wait until
frame_size has been set.

8 years agortpenc: use av_get_audio_frame_duration() for max_frames_per_packet
Justin Ruggles [Mon, 27 Feb 2012 08:01:45 +0000 (03:01 -0500)]
rtpenc: use av_get_audio_frame_duration() for max_frames_per_packet

It is more reliable than AVCodecContext.frame_size for codecs with constant
packet duration.

8 years agoriffenc: use av_get_audio_frame_duration()
Justin Ruggles [Mon, 27 Feb 2012 07:34:14 +0000 (02:34 -0500)]
riffenc: use av_get_audio_frame_duration()

For encoding, frame_size is not a reliable indicator of packet duration.
Also, we don't want to have to force the demuxer to find frame_size for
stream copy to work.

8 years agoavcodec: add av_get_audio_frame_duration() function.
Justin Ruggles [Fri, 27 Jan 2012 01:08:23 +0000 (20:08 -0500)]
avcodec: add av_get_audio_frame_duration() function.

This is a utility function for the user to get the frame duration based on
the codec id, frame size in bytes, and various AVCodecContext parameters.

8 years agoavcodec: add av_get_exact_bits_per_sample() function
Justin Ruggles [Thu, 19 Jan 2012 23:36:40 +0000 (18:36 -0500)]
avcodec: add av_get_exact_bits_per_sample() function

This only returns bits per sample when it is exactly correct. That is, the
codec contains only raw samples with no frame headers or padding. This applies
to basically all PCM codecs and a small subset of ADPCM codecs.

8 years agolavf: deobfuscate read_frame_internal().
Anton Khirnov [Sun, 4 Mar 2012 14:49:26 +0000 (15:49 +0100)]
lavf: deobfuscate read_frame_internal().

Split off packet parsing into a separate function. Parse full packets at
once and store them in a queue, eliminating the need for tracking
parsing state in AVStream.

The horrible unreadable loop in read_frame_internal() now isn't weirdly
ordered and doesn't contain evil gotos, so it should be much easier to
understand.

compute_pkt_fields() now invents slightly different timestamps for two
raw vc1 tests, due to has_b_frames being set a bit later. They shouldn't
be more wrong (or right) than previous ones.

8 years agolavf: make read_from_packet_buffer() more flexible.
Anton Khirnov [Sat, 3 Mar 2012 15:28:32 +0000 (16:28 +0100)]
lavf: make read_from_packet_buffer() more flexible.

Make packet buffer a parameter, don't hardcode it to be
AVFormatContext.packet_buffer.

Also move the function higher in the file, since it will be called from
read_frame_internal().

8 years agolavf: factorize freeing a packet buffer.
Anton Khirnov [Sat, 3 Mar 2012 08:43:14 +0000 (09:43 +0100)]
lavf: factorize freeing a packet buffer.

8 years agoFix format string vulnerability detected by -Wformat-security.
Fabian Greffrath [Mon, 5 Mar 2012 15:06:01 +0000 (16:06 +0100)]
Fix format string vulnerability detected by -Wformat-security.

Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years agodv: Do not redundantly initialize struct members to zero.
Diego Biurrun [Mon, 5 Mar 2012 12:57:14 +0000 (13:57 +0100)]
dv: Do not redundantly initialize struct members to zero.

8 years agox86: clean up ff_dsputil_init_mmx()
Mans Rullgard [Thu, 1 Mar 2012 12:48:00 +0000 (12:48 +0000)]
x86: clean up ff_dsputil_init_mmx()

This splits ff_dsputil_init_mmx() into multiple functions, one for
each MMX/SSE level, somewhat simplifying the nested conditions.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
8 years agocmdutils: use new avcodec_is_decoder/encoder() functions.
Anton Khirnov [Fri, 2 Mar 2012 16:05:01 +0000 (17:05 +0100)]
cmdutils: use new avcodec_is_decoder/encoder() functions.

Fixes listing encoders.

8 years agolavc: make codec_is_decoder/encoder() public.
Anton Khirnov [Fri, 2 Mar 2012 16:00:53 +0000 (17:00 +0100)]
lavc: make codec_is_decoder/encoder() public.

8 years agolavc: deprecate AVCodecContext.sub_id.
Anton Khirnov [Mon, 27 Feb 2012 17:52:13 +0000 (18:52 +0100)]
lavc: deprecate AVCodecContext.sub_id.

In most places where it's used, it's as a pointless write-only field.

Only rv10 decoder actually reads from it, but it stores some internal
version info in it. There is no reason for it to be in a public field.

8 years agolibcdio: add a forgotten AVClass to the private context.
Anton Khirnov [Sat, 3 Mar 2012 05:26:39 +0000 (06:26 +0100)]
libcdio: add a forgotten AVClass to the private context.

8 years agoswscale: remove "cpu flags" from -sws_flags description.
Ronald S. Bultje [Sun, 4 Mar 2012 05:38:03 +0000 (21:38 -0800)]
swscale: remove "cpu flags" from -sws_flags description.

8 years agoproresenc: give user a possibility to alter some encoding parameters
Kostya Shishkov [Sat, 3 Mar 2012 18:14:35 +0000 (19:14 +0100)]
proresenc: give user a possibility to alter some encoding parameters

This allows user to select quantisation matrix from different profile,
stamp frames with custom vendor string and change target bitrate.

8 years agovorbisenc: add output buffer overwrite protection
Justin Ruggles [Wed, 29 Feb 2012 07:56:01 +0000 (02:56 -0500)]
vorbisenc: add output buffer overwrite protection

8 years agolibopencore-amrnbenc: fix end-of-stream handling
Justin Ruggles [Sun, 4 Mar 2012 05:25:45 +0000 (00:25 -0500)]
libopencore-amrnbenc: fix end-of-stream handling

Use CODEC_CAP_DELAY and CODEC_CAP_SMALL_LAST_FRAME to properly pad and flush
the encoder at the end of encoding. This is needed in order to have all input
samples decoded.

8 years agora144enc: fix end-of-stream handling
Justin Ruggles [Tue, 28 Feb 2012 06:02:28 +0000 (01:02 -0500)]
ra144enc: fix end-of-stream handling

Use CODEC_CAP_DELAY and CODEC_CAP_SMALL_LAST_FRAME to properly pad and flush
the encoder at the end of encoding. This is needed in order to have all input
samples decoded.

8 years agonellymoserenc: zero any leftover packet bytes
Justin Ruggles [Tue, 28 Feb 2012 04:39:50 +0000 (23:39 -0500)]
nellymoserenc: zero any leftover packet bytes

fixes writing of uninitialized packet data

8 years agonellymoserenc: use proper MDCT overlap delay
Justin Ruggles [Tue, 28 Feb 2012 04:32:23 +0000 (23:32 -0500)]
nellymoserenc: use proper MDCT overlap delay

8 years agoqpeg: Use bytestream2 functions to prevent buffer overreads.
Aneesh Dogra [Sun, 4 Mar 2012 04:29:43 +0000 (09:59 +0530)]
qpeg: Use bytestream2 functions to prevent buffer overreads.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agoswscale: make %rep unconditional.
Ronald S. Bultje [Sat, 3 Mar 2012 22:15:32 +0000 (14:15 -0800)]
swscale: make %rep unconditional.

Fixes pre-processing with latest versions of nasm.

8 years agovp8: convert simple loopfilter x86 assembly to use named arguments.
Ronald S. Bultje [Sat, 3 Mar 2012 20:55:34 +0000 (12:55 -0800)]
vp8: convert simple loopfilter x86 assembly to use named arguments.

8 years agovp8: convert idct x86 assembly to use named arguments.
Ronald S. Bultje [Sat, 3 Mar 2012 16:04:40 +0000 (08:04 -0800)]
vp8: convert idct x86 assembly to use named arguments.

8 years agovp8: convert mc x86 assembly to use named arguments.
Ronald S. Bultje [Sat, 3 Mar 2012 14:46:29 +0000 (06:46 -0800)]
vp8: convert mc x86 assembly to use named arguments.

8 years agovp8: convert loopfilter x86 assembly to use cpuflags().
Ronald S. Bultje [Sat, 3 Mar 2012 04:38:02 +0000 (20:38 -0800)]
vp8: convert loopfilter x86 assembly to use cpuflags().

8 years agovp8: convert idct/mc x86 assembly to use cpuflags().
Ronald S. Bultje [Fri, 2 Mar 2012 05:35:22 +0000 (21:35 -0800)]
vp8: convert idct/mc x86 assembly to use cpuflags().

8 years agoswscale: remove now unnecessary hack.
Ronald S. Bultje [Fri, 2 Mar 2012 04:24:58 +0000 (20:24 -0800)]
swscale: remove now unnecessary hack.

8 years agox86inc: don't "bake" stack_offset in named arguments.
Loren Merritt [Sun, 26 Feb 2012 17:05:29 +0000 (09:05 -0800)]
x86inc: don't "bake" stack_offset in named arguments.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
8 years agofate: Add sunrast regression test
Derek Buitenhuis [Fri, 2 Mar 2012 00:48:26 +0000 (19:48 -0500)]
fate: Add sunrast regression test

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agowmaenc: fix m/s stereo encoding for the first frame
Justin Ruggles [Fri, 2 Mar 2012 22:11:25 +0000 (17:11 -0500)]
wmaenc: fix m/s stereo encoding for the first frame

We need to set ms_stereo in encode_init() in order to avoid incorrectly
encoding the first frame as non-m/s while flagging it as m/s. Fixes an
uncomfortable pop in the left channel at the start of playback.

CC:libav-stable@libav.org

8 years agowmaenc: return s->block_align instead of recalculating it
Justin Ruggles [Fri, 2 Mar 2012 21:55:45 +0000 (16:55 -0500)]
wmaenc: return s->block_align instead of recalculating it

8 years agowmaenc: check final frame size against output packet size
Justin Ruggles [Fri, 2 Mar 2012 21:42:21 +0000 (16:42 -0500)]
wmaenc: check final frame size against output packet size

Currently we have an assert() that prevents the frame from being too large,
but it is more user-friendly to give an error message instead of aborting on
assert(). This condition is quite unlikely due to the minimum bit rate check
in encode_init(), but it is still worth having.

8 years agowmaenc: require a large enough output buffer to prevent overwrites
Justin Ruggles [Fri, 2 Mar 2012 21:33:33 +0000 (16:33 -0500)]
wmaenc: require a large enough output buffer to prevent overwrites

The maximum theoretical frame size is around 17000 bytes. Although in
practice it will generally be much smaller, we require a larger buffer
just to be safe.

CC: libav-stable@libav.org
8 years agowmaenc: limit allowed sample rate to 48kHz
Justin Ruggles [Fri, 2 Mar 2012 21:27:57 +0000 (16:27 -0500)]
wmaenc: limit allowed sample rate to 48kHz

ff_wma_init() allows up to 50kHz, but this generates an exponent band
size table that requires 65 bands. The code assumes 25 bands in many
places, and using sample rates higher than 48kHz will lead to buffer
overwrites.

CC:libav-stable@libav.org

8 years agowmaenc: limit block_align to MAX_CODED_SUPERFRAME_SIZE
Justin Ruggles [Fri, 2 Mar 2012 21:10:00 +0000 (16:10 -0500)]
wmaenc: limit block_align to MAX_CODED_SUPERFRAME_SIZE

This is near the theoretical limit for wma frame size and is the most that
our decoder can handle. Allowing higher bit rates will just end up padding
each frame with empty bytes.

Fixes invalid writes for avconv when using very high bit rates.

CC:libav-stable@libav.org

8 years agotiertexseq: set correct block_align for audio
Justin Ruggles [Fri, 20 Jan 2012 04:03:08 +0000 (23:03 -0500)]
tiertexseq: set correct block_align for audio

8 years agotiertexseq: set audio stream start time to 0
Justin Ruggles [Fri, 20 Jan 2012 04:01:53 +0000 (23:01 -0500)]
tiertexseq: set audio stream start time to 0

Update FATE test to reflect delayed video due to the file having audio-only
frames prior to the first frame with video.

8 years agovoc/avs: Do not change the sample rate mid-stream.
Justin Ruggles [Thu, 12 Jan 2012 02:10:35 +0000 (21:10 -0500)]
voc/avs: Do not change the sample rate mid-stream.

Also, set the time base based on the sample rate.
lavf-voc seek test updated to reflect slightly different seek points.

8 years agosegafilm: use the sample rate as the time base for audio streams
Justin Ruggles [Wed, 11 Jan 2012 16:07:40 +0000 (11:07 -0500)]
segafilm: use the sample rate as the time base for audio streams

8 years agoea: fix audio pts
Justin Ruggles [Wed, 11 Jan 2012 15:22:47 +0000 (10:22 -0500)]
ea: fix audio pts

The time base is 1 / sample_rate, not 90000.
Several more codecs encode the sample count in the first 4 bytes of the
chunk, so we set the durations accordingly. Also, we can set start_time and
packet duration instead of keeping track of the sample count in the demuxer.

8 years agopsx-str: fix audio pts
Justin Ruggles [Wed, 11 Jan 2012 14:41:06 +0000 (09:41 -0500)]
psx-str: fix audio pts

Each packet has 18 sectors with 224/channels samples in each sector.

8 years agovqf: set packet duration
Justin Ruggles [Fri, 13 Jan 2012 19:04:11 +0000 (14:04 -0500)]
vqf: set packet duration

Fixes timestamp calculation.
The FATE reference is updated because timestamp calculations are now more
accurate. Previous timestamps were based on average bit rate.

8 years agotta demuxer: set packet duration
Justin Ruggles [Fri, 13 Jan 2012 18:35:06 +0000 (13:35 -0500)]
tta demuxer: set packet duration

8 years agompegaudio_parser: do not ignore information from the first parsed frame
Justin Ruggles [Mon, 16 Jan 2012 16:49:51 +0000 (11:49 -0500)]
mpegaudio_parser: do not ignore information from the first parsed frame

Update some demuxing and seeking fate tests.

8 years agompegaudio_parser: be less picky about the start position
Michael Niedermayer [Tue, 21 Jun 2011 00:49:20 +0000 (02:49 +0200)]
mpegaudio_parser: be less picky about the start position

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
8 years agothp: set audio packet durations
Justin Ruggles [Wed, 29 Feb 2012 23:08:46 +0000 (18:08 -0500)]
thp: set audio packet durations