Mans Rullgard
392107ad07
rv40: NEON optimised rv40 qpel motion compensation
...
Based on patch by Janne Grunau.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-07 22:38:14 +00:00
Hendrik Leppkes
bc057f7592
pcm-mpeg: implement new audio decoding api
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-07 13:52:00 -05:00
Ronald S. Bultje
8b03d7fe95
w32thread: port fixes to pthread_cond_broadcast() from x264.
2011-12-07 10:30:54 -08:00
Rafaël Carré
7efea2a051
dxva2.h: include d3d9.h to define LPDIRECT3DSURFACE9
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 16:54:23 +01:00
Diego Biurrun
ff159e7816
doxygen: Replace '\' by '@' in Doxygen markup tags.
2011-12-07 15:29:14 +01:00
Diego Biurrun
ee41963f19
cosmetics: drop some completely pointless parentheses
2011-12-07 15:29:13 +01:00
Paul B. Mahol
fc9489f6ad
cljr: simplify CLJRContext
...
There is no need to have delta, offset and gb in CLJRContext.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-12-07 15:15:02 +01:00
Konstantin Todorov
4d9ec050a2
Code cleanup - mpegvideo.c - 500-1000line
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-06 11:32:38 -08:00
Janne Grunau
6c88988866
rv40: NEON optimised weighted prediction
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:25 +00:00
Janne Grunau
f5c05b9aa5
rv40: NEON optimised chroma MC
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:25 +00:00
Mans Rullgard
f054a82727
ARM: move NEON H264 chroma mc to a separate file
...
This allows sharing code with the rv40 version of these functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:24 +00:00
Janne Grunau
42d32cf53c
rv34: NEON optimised inverse transform functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-06 13:48:24 +00:00
Diego Biurrun
e873c03ac7
misc Doxygen markup improvements
2011-12-05 13:06:58 +01:00
Diego Biurrun
c68fafe0d2
doxygen: eliminate Qt-style doxygen syntax
2011-12-05 13:06:58 +01:00
Sjoerd Simons
f32fd31858
g722: Change bits per sample to 4
...
Earlier, bits per sample was defined as 8, since
bits_per_coded_sample was used to indicate whether to ignore
the lower bits of the codeword, having values 6, 7 or 8.
g722 encodes 2 samples into one byte codeword, therefore the
bits per sample is 4. By changing this, the generated timestamps
for streams encoded with g722 become correct.
This makes timestamp generation for g722 data correct (both when
encoding and when demuxing from raw g722 files).
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-05 12:41:46 +02:00
Martin Storsjö
6fcbb0f553
g722dec: Signal skipping the lower bits via AVOptions instead of bits_per_coded_sample
...
This avoids using bits_per_coded_sample for this information.
bits_per_coded_sample should be 4 for this codec normally,
since two samples are encoded into one 8 bit codeword.
In principle, this might be info that needs to be passed from
a demuxer, and in that case, a private AVOption isn't the best
choice, but no such samples are available at the moment, so
that use case is purely theoretical at the moment.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-05 12:41:23 +02:00
Justin Ruggles
0bafe04917
api-example: update to use avcodec_decode_audio4()
2011-12-04 18:29:51 -05:00
Chris Berov
dc6d043050
adpcmenc: cosmetics: pretty-printing
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 17:07:48 -05:00
Chris Berov
541d083a40
ac3dec: cosmetics: pretty-printing
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 16:15:48 -05:00
Paul B. Mahol
eda8731285
shorten: remove dead initialization
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-12-04 15:12:05 -05:00
Reimar Döffinger
7679bd6e60
roqvideodec: set AVFrame reference before reget_buffer.
...
Otherwise it might return a write-only frame which would break
decoding completely.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 16:04:27 +01:00
Carl Eugen Hoyos
1e92d58e44
bmp: fix some 1bit samples.
...
<= 8bpp BMP images always have palette.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-04 16:04:27 +01:00
Derek Buitenhuis
a548b6cbfc
wavpack: Properly clip samples during lossy decode
...
When decoding lossy WavPack samples, they are supposed
to be clipped, in order to be decoded correctly.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 15:32:21 -08:00
Nathan Adil Maxson
8f8c785ffc
zmbv.c: coding style clean-up.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:11:39 -08:00
Nathan Adil Maxson
6eedeefe0b
xan.c: coding style clean-up.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:11:26 -08:00
Konstantin Todorov
363114e813
mpegvideo.c: code cleanup - first 500 lines.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-03 14:03:27 -08:00
Ronald S. Bultje
adedd840e2
h264: fix frame reordering code.
...
Fixes fate-h264-conformance-{mr2_tandberg_e,mr3_tandberg_b} without
requiring -strict 1.
2011-12-03 08:24:27 -08:00
Janne Grunau
d268b79e34
aac_latm: reconfigure decoder on audio specific config changes
2011-12-03 00:42:48 +01:00
Janne Grunau
fd095539d1
latmdec: fix audio specific config parsing
...
Pass the correct size in bits to mpeg4audio_get_config and add a flag
to disable parsing of the sync extension when the size is not known.
Latm with AudioMuxVersion 0 does not specify the size of the audio
specific config. Data after the audio specific config can be
misinterpreted as sync extension resulting in random and wrong configs.
2011-12-03 00:42:48 +01:00
Justin Ruggles
0eea212943
Add avcodec_decode_audio4().
...
Deprecate avcodec_decode_audio3().
Implement audio support in avcodec_default_get_buffer().
Implement the new audio decoder API in all audio decoders.
2011-12-02 17:40:40 -05:00
Justin Ruggles
560f773c7d
avcodec: change number of plane pointers from 4 to 8 at next major bump.
...
Add AV_NUM_DATA_POINTERS to simplify the bump transition.
This will allow for supporting more planar audio channels without having to
allocate separate pointer arrays.
2011-12-02 17:40:40 -05:00
Mans Rullgard
51a16077da
svq1dec: avoid undefined get_bits(0) call
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 21:52:09 +00:00
Mans Rullgard
59807fee6d
ARM: h264dsp_neon cosmetics
...
- Replace 'ip' with 'r12'.
- Use correct size designators for vld1/vst1.
- Whitespace fixes.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Janne Grunau
a760f530bb
ARM: make some NEON macros reusable
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-02 19:59:18 +00:00
Aaron Colwell
e02dec25ab
vp8: flush buffers on size changes.
2011-12-02 07:21:08 -08:00
Nathan Adil Maxson
d0fd6fc201
Cleaned up alacenc.c
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-12-01 20:14:21 -08:00
Ronald S. Bultje
2574f08d4c
h264: cap max has_b_frames at MAX_DELAYED_PIC_COUNT - 1.
...
This prevents frame allocation overflows, and fixed
fate-h264-conformance-mr3_tandberg_b with 2 threads.
2011-12-01 12:46:28 -08:00
Mans Rullgard
3adba2de3d
ARM: fix indentation in ff_dsputil_init_neon()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
96fef6cf31
ARM: NEON put/avg_pixels8/16 cosmetics
...
This makes whitespace and register names consistent with
the style used in more recent code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:36 +00:00
Mans Rullgard
716f1705e9
ARM: add remaining NEON avg_pixels8/16 functions
2011-12-01 19:41:36 +00:00
Mans Rullgard
94267ddfb2
ARM: clean up NEON put/avg_pixels macros
...
Although this adds a few lines, the macro calls are less convoluted.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 19:41:35 +00:00
Mans Rullgard
37fed0e635
rv34: align temporary block of "dct" coefs
...
This is needed for optimised transforms.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-01 14:29:29 +00:00
Michael Niedermayer
adfdcf87b1
vble: use dsp.add_hfyu_median_prediction() this allows asm optimizations to be used.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:06:32 -08:00
Michael Niedermayer
317ea97bff
vble: remove flags copy, its not used in any speed relevant code.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:06:15 -08:00
Derek Buitenhuis
e46abbcf77
vble: merge len and val arrays
...
There's no reason to use two arrays for this.
Based off commit 2fea60c600
to FFmpeg by Michael Niedermayer.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:05:55 -08:00
Michael Niedermayer
0dd704dbd4
vble: remove unused variable len.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-30 21:05:31 -08:00
Janne Grunau
bb8a6e03cc
rv40: move loop filter to rv34dsp context
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-30 20:54:59 +00:00
Aneesh Dogra
464ccb0144
indeo3: check per-plane data buffer against input buffer bounds.
...
Fixes : http://bugzilla.libav.org/show_bug.cgi?id=102
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-29 09:58:05 -08:00
Aaron Colwell
39a7a5b8ab
pthread: don't increment index on zero-sized packets.
...
The next call to decode() will update from an invalid index, which will
either lead to a memcpy() where dest==src (2 threads), or lead to a
crash (>2 threads).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-28 20:30:30 -08:00
Alex Converse
a27805189b
txd: Fix order of operations.
2011-11-28 11:22:36 -08:00
Diego Biurrun
c88ebdb42c
Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.
2011-11-28 10:01:50 +01:00
Kostya Shishkov
1469f943ad
indeo3: cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-11-28 10:01:49 +01:00
Alex Converse
999e7ebd23
dca: Replace oversized unused get_bits() with skip_bits_long().
2011-11-27 15:57:38 -08:00
Luca Barbato
1f948745c3
vc1: use an enum for Frame Coding Mode
...
Document it a little and possibly fix a bug in dxva2_vc1.
2011-11-28 00:40:22 +01:00
Aneesh Dogra
97980db487
indeo3: error out if no motion vector is set.
...
This fixes a crash on a corrupt bitstream (bugzilla #93 ).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-27 13:30:00 -08:00
Justin Ruggles
0df5e869cb
mpegaudio: do not use init_static_data() for initializing tables.
...
It is called once for each mpegaudio codec that is registered, which adds
significant overhead.
2011-11-27 13:59:34 -05:00
Alex Converse
f11b0e9543
wmavoice: Make format string match variable type.
2011-11-26 19:40:34 -08:00
Kostya Shishkov
498605b4ad
vc1: select interlaced scan table by FCM element
...
Interlaced videos can contain progressive frames too and now wrong scantable
is selected for them.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 18:14:07 -08:00
Cheng Sun
3f5aa7dfa6
pthread: track thread existence in a separate variable.
...
This fixes a compile error on mingw32 when using p->thread
directly (as if it were a pointer) to track thread existence,
because the type is opaque and may be a non-pointer.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 17:14:13 -08:00
Mans Rullgard
8540dcfd7a
snow: fix integer overflows
...
The way these values are used, they should have an unsigned type.
A similar change was made for mpegvideo in cb66847
.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:47 +00:00
Mans Rullgard
0e55edcb57
svq1enc: remove stale altivec-related hack
...
altivec.h is no longer (indirectly) included, so this hack is not
needed.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:47 +00:00
Mans Rullgard
ff6d9cc558
snow: fix signed overflow in byte to 32-bit replication
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 22:53:46 +00:00
Justin Ruggles
9d2dd356c2
adx: rename ff_adx_decode_header() to avpriv_adx_decode_header()
...
It is used by the ADX decoder, and therefore needs to be exported in order to
work with shared libs.
2011-11-26 17:00:00 -05:00
Justin Ruggles
a17c3c7d15
avformat: add CRI ADX format demuxer
2011-11-26 16:25:07 -05:00
Justin Ruggles
27360ccc5e
adx: add an ADX parser.
...
This simplifies the decoder so it doesn't have to process an in-packet header
or handle arbitrary-sized packets. It also fixes decoding of files with large
headers.
2011-11-26 16:25:07 -05:00
Justin Ruggles
d8cec2d7fc
adx: move header decoding to ADX common code
2011-11-26 16:25:07 -05:00
Justin Ruggles
7ff55d9bdb
adx: calculate the number of blocks in a packet
2011-11-26 16:25:07 -05:00
Justin Ruggles
05c1f11b56
adx: define and use 2 new macro constants BLOCK_SIZE and BLOCK_SAMPLES
2011-11-26 16:25:07 -05:00
Justin Ruggles
d1745619db
adx: check for unsupported ADX formats
2011-11-26 16:25:07 -05:00
Justin Ruggles
994238536a
adx: simplify encoding by using put_sbits()
2011-11-26 16:25:07 -05:00
Justin Ruggles
b237248e29
adx: calculate correct LPC coeffs
...
Instead of using fixed coefficients, the correct way is to calculate the
coefficients using the highpass cutoff frequency from the ADX stream header
and the sample rate.
2011-11-26 16:25:06 -05:00
Justin Ruggles
954d94dd5e
adx: use 12-bit coefficients instead of 14-bit to avoid integer overflow
2011-11-26 16:25:06 -05:00
Justin Ruggles
c52ddc6024
adx: simplify adx_decode() by using get_sbits() to read residual samples
2011-11-26 16:25:06 -05:00
Justin Ruggles
ca9e4727ba
adx: fix the data offset parsing in adx_decode_header()
...
first 2 bytes are 0x80, 0x00. offset is only 16-bit.
this is according to format descriptions on multimedia wiki and wikipedia.
2011-11-26 16:25:06 -05:00
Justin Ruggles
837bbd19eb
adx: remove unneeded post-decode channel interleaving
...
instead interleave channels while decoding
2011-11-26 16:25:06 -05:00
Justin Ruggles
e2d1eace00
adx: validate header values
2011-11-26 16:25:06 -05:00
Justin Ruggles
8db67610c0
adx: cosmetics: general pretty-printing and comment clean-up
2011-11-26 16:25:06 -05:00
Justin Ruggles
fbc79a9101
adx: remove useless comments
2011-11-26 16:25:06 -05:00
Justin Ruggles
e0722d7fb7
adx: change short to int16_t
2011-11-26 16:25:06 -05:00
Justin Ruggles
dd1b9f7cd9
adx: rename struct PREV to ADXChannelState
2011-11-26 16:25:06 -05:00
Mans Rullgard
3a83b2461e
dnxhdenc: fix signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 20:52:10 +00:00
Mans Rullgard
b6ae086682
dv: simplify bitstream splicing in dv_decode_ac()
...
This is simpler and fixes some overflow checker warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 20:52:09 +00:00
Mans Rullgard
b02aa3a8ea
s3tc: fix shift overflow by using unsigned constant
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:42 +00:00
Mans Rullgard
f7f892e4d5
svq1enc: fix signed multiplication overflow
...
This multiplication can overflow the signed range but not the
unsigned. After right-shifting it will thus fit in the signed
range again.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:27 +00:00
Mans Rullgard
e4faa31a0a
svq1dec: use sign_extend()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:50:02 +00:00
Mans Rullgard
171ec81223
rv34: fix signed multiplication overflow
...
Multiply by unsigned 0x01010101 to replicate bytes into 32-bit
word.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 18:49:51 +00:00
Cheng Sun
e524eadbf8
[PATCH] Fix crash when initializing multi-threaded decoding for corrupted file.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-11-26 10:46:08 -08:00
Mans Rullgard
b7581b5c83
cook: use a table for xor key rotation
...
This is simpler and avoids an invalid shift by 32 in the
aligned case.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
644bff6c9b
apedec: fix signed integer overflows
...
This bit manipulation is equivalent but avoids undefined
shifts and overflows.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
93c286e54f
qtrle: simplify 32-bit decode using intreadwrite macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:41 +00:00
Mans Rullgard
3bd1162a52
gif: fix invalid signed shifts
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-26 11:38:40 +00:00
Reimar Döffinger
7fb55e0b02
rtjpeg: simplify get_block() by using get_bits_left.
...
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:40:51 +01:00
Reimar Döffinger
7a62ddb689
rtjpeg: check get_block return value for error.
...
This avoids crashes due to reading out-of-bounds.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:39:58 +01:00
Reimar Döffinger
f6afacdb3b
nuv: check per-frame header for validity.
...
Since it contains dimensions parsing an invalid one has rather
annoying effects.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:38:59 +01:00
Reimar Döffinger
785baa738a
nuv: use FFALIGN.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:38:14 +01:00
Carl Eugen Hoyos
1484b5dec5
flicvideo: check extradata_size before accessing extradata.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:36:16 +01:00
Michael Niedermayer
5ace144fe0
fraps: check for overread.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:35:57 +01:00
K.Y.H
51f316a997
cook: fix apparent typo in extradata parsing
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-26 08:33:31 +01:00
Anton Khirnov
488eec1044
lavc: update doxy to use nondeprecated API.
2011-11-26 08:26:24 +01:00
Mans Rullgard
cc276c85d1
Make channel layout masks unsigned
...
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.
Fixes a few invalid shifts.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Mans Rullgard
00a856e3f9
dca: ARMv6 optimised decode_blockcode()
...
This is a hand-tuned version of the code with impossible parts of
the FASTDIV function ommitted.
2-5% faster overall on Cortex-A8.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:53 +00:00
Janne Grunau
117e2a30f2
frame-mt: return consumed packet size in ff_thread_decode_frame
...
This is required to fulfill avcodec_decode_video2() promise to return
the number of consumed bytes on success.
2011-11-25 08:25:12 +01:00
Luca Barbato
7f1b427018
snow: split snow in snowdec and snowenc
...
The common non inlined code goes in snow.c, the common inlined code in
snow.h, tables move in snowdata.h (included only by snow.c)
2011-11-24 21:35:47 +01:00
Anton Khirnov
8b7412fe4e
tiffenc: deprecate using compression_level
2011-11-24 21:31:36 +01:00
Ronald S. Bultje
db431f7efe
h264: add support for decoding planar RGB images.
2011-11-24 08:25:36 -08:00
Justin Ruggles
c1848c4b26
pcmdec: remove unneeded resetting of samples pointer
2011-11-23 16:26:15 -05:00
Anton Khirnov
3eedd29bd7
bethsoftvideo: return proper consumed size for palette packets.
...
Also check for sufficient packet size.
2011-11-23 21:58:30 +01:00
Anton Khirnov
a94c769dad
tiffenc: add a private option for selecting compression algorithm
2011-11-23 20:29:25 +01:00
Mans Rullgard
3a0b72dee0
ARM: remove needless .text/.align directives
...
The 'function' macro already includes the appropriate
directives.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-23 15:06:50 +00:00
Alex Converse
963f685535
aacdec: Fix PS in ADTS.
...
Fixes File1.aac and Bug 80.
2011-11-22 14:33:11 -08:00
Justin Ruggles
0e8fdd41c2
dsputil: use cpuflags in x86 emu_edge_core
...
avoids passing around the extra argument among all the macros it uses
2011-11-22 15:40:51 -05:00
Justin Ruggles
395f2e70dd
dsputil: use movups instead of movdqu in ff_emu_edge_core_sse()
...
This allows emulated_edge_mc_sse() and gmc_sse() to be used under
AV_CPU_FLAG_SSE.
2011-11-22 15:40:51 -05:00
Justin Ruggles
05d1e45d1f
wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
...
The initial values are not checked against the number of block sizes.
Initializing them to frame_len_bits will result in a block size index of 0
in these cases instead of something that might be out-of-range.
Fixes Bug 81.
2011-11-22 13:50:18 -05:00
Mans Rullgard
85770d6e56
Add libavutil/mathematics.h #includes for INFINITY
...
This fixes build errors in some environments.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 16:36:44 +00:00
Luca Barbato
e97e5a2e02
doxy: introduce an empty structure in libavcodec
2011-11-22 17:16:02 +01:00
Mans Rullgard
8ee2b4672f
ARM: add explicit .arch and .fpu directives to asm.S
...
This prevents build errors when compiler and assembler default
targets differ. Ideally each file would declare the highest
level it requires. This is however not easily possible as it
complicates assembling pre-armv6t2 code in Thumb-2 mode.
HAVE_NEON is used as indicator for ARMv7-A since no other
symbol exists for this and NEON is only available in this
variant.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-22 12:13:02 +00:00
Janne Grunau
0945eddec0
pthread: do not touch has_b_frames
...
Adding the thread count in frame level multithreading to has_b_frames
as an additional delay causes more problems than it solves.
For example inconsistent behaviour during timestamp calculation in
libavformat.
Thread count and frame level multithreading are both set by the user.
If the additional delay caused by frame level multithreading needs
to be considered in the calling code it has all information to take
it into account.
Should it become necessary to calculate a maximum delay inside
libavcodec it should be exported as its own field and not reusing
an existing field.
Based on a patch by Michael Niedermayer.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-22 09:50:33 +01:00
Justin Ruggles
a8fe9a7242
pthread: add some malloc failure checks
2011-11-21 10:18:25 -05:00
Justin Ruggles
f3a29b750a
avcodec: move some AVCodecContext fields to an internal struct.
...
A new field, AVCodecContext.internal is used to hold a new struct
AVCodecInternal, which has private fields that are not codec-specific and are
used by general libavcodec functions.
Moved internal_buffer, internal_buffer_count, and is_copy.
2011-11-19 10:01:05 -05:00
Justin Ruggles
513b691955
avcodec: use av_opt_set() instead of deprecated av_set_string3()
2011-11-19 01:14:27 -05:00
Justin Ruggles
fa9aeb82e2
avcodec: fix some const warnings
...
libavcodec/options.c:583: warning: assignment discards qualifiers from pointer
target type
libavcodec/options.c:589: warning: initialization discards qualifiers from
pointer target type
2011-11-19 01:10:58 -05:00
Justin Ruggles
86d3730360
avcodec: remove pointless AVOption, internal_buffer_count
2011-11-19 00:36:49 -05:00
Luca Barbato
b7d939d998
cinepack: return non-generic errors
2011-11-18 12:10:41 +01:00
Michael Niedermayer
a4009c6a9a
cinepak: remove redundant coordinate checks
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:45 +02:00
Michael Niedermayer
867b496681
cinepak: check strip_size
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:43 +02:00
Michael Niedermayer
d92fea2b14
cinepak, simplify, use AV_RB24()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:58:42 +02:00
Michael Niedermayer
a2b51fe87c
cinepak: simplify, use FFMIN()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:36:05 +02:00
Michael Niedermayer
b55aa7df6b
cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-18 11:35:56 +02:00
Alex Converse
bb4b0ad83b
vp5: Fix illegal read.
...
Found with Address Sanitizer
2011-11-17 11:58:49 -08:00
Thierry Foucu
e0966eb140
vp6: Fix illegal read.
...
Found with Address Sanitizer
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-11-17 11:58:40 -08:00
Martin Storsjö
268fb3f985
mpegaudiodec: Don't use a nonexistent log context for av_dlog
...
This fixes builds with DEBUG defined, broken since
1158745a2d
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 12:01:32 +02:00
Mike Melanson
747283a078
cinepak: Add another special case so that it can handle the following file:
...
http://samples.mplayerhq.hu/V-codecs/CVID/bad_cinepak_frame_size.mov
This fix works around another work around which handles a different type
of odd Cinepak data.
Thanks to Matthew Hoops (clone2727 - gmail.com) for the sample and fix.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 10:50:52 +02:00
Kostya Shishkov
ffc638c283
lagarith: add some RGBA decoding support
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 10:49:51 +02:00
Nathan Caldwell
39616fc307
lagarith: Add correct line prediction for RGB
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-16 10:46:30 +02:00
Justin Ruggles
f1d1516e55
cosmetics: indentation
2011-11-15 12:17:20 -05:00
Justin Ruggles
1158745a2d
mpegaudiodec: init static tables in AVCodec.init_static_data()
2011-11-15 12:17:20 -05:00
Mans Rullgard
3f5d6a665a
binkvideo: simplify and remove invalid shifts
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-14 15:35:29 +00:00
Sebastien Zwickert
ac3dbb4d58
hwaccel: OS X Video Decoder Acceleration (VDA) support.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-11-14 16:07:32 +01:00
Janne Grunau
29ae0565d9
vble: remove vble_error_close
...
It does not make much sense to factor the error handling to its own
av_always_inline function. Fixes "format not a string literal and no
format arguments" warning in the av_log.
2011-11-11 22:05:51 +01:00
Derek Buitenhuis
c433a3f9a5
VBLE Decoder
...
Add a decoder for the VBLE Lossless Codec, which
still has a cult following. Used to be popular
several years ago on doom9.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-11 22:46:47 +02:00
Justin Ruggles
b656c4d08e
tta: use an integer instead of a pointer to iterate output samples
2011-11-11 14:18:22 -05:00
Justin Ruggles
5c210e2cb9
shorten: do not modify samples pointer when interleaving
2011-11-11 14:18:22 -05:00
Justin Ruggles
befc473c00
mpc7: only support stereo input.
...
The Musepack SV7 reference encoder converts mono to stereo when encoding.
2011-11-11 14:17:40 -05:00
Justin Ruggles
8dbc6d03c0
dpcm: do not try to decode empty packets
2011-11-11 14:17:39 -05:00
Justin Ruggles
e79da63282
dpcm: remove unneeded buf_size==0 check.
...
It is already checked in avcodec_decode_audio3()
2011-11-11 14:17:39 -05:00
Justin Ruggles
9d06037d48
twinvq: add SSE/AVX optimized sum/difference stereo interleaving
2011-11-11 14:13:58 -05:00
Justin Ruggles
7b966566da
vqf/twinvq: pass vqf COMM chunk info in extradata
...
This is needed because the twinvq decoder cannot rely on bit_rate to be set.
The API documentation says that bit_rate is set by libavcodec, not by the
user.
2011-11-11 14:06:14 -05:00
Justin Ruggles
a8a6da4a0e
twinvq: check for allocation failure in init_mdct_win()
2011-11-11 14:06:14 -05:00
Alex Converse
88b2436911
mpc7: Fix memset call in mpc7_decode_frame function
2011-11-10 09:30:49 -08:00
Justin Ruggles
164fca39bd
atrac1: use correct context for av_log()
2011-11-10 10:25:47 -05:00
Justin Ruggles
c298b2b8db
apedec: consume the whole packet when copying to the decoder buffer.
...
This avoids artifically consuming a partial packet but ignoring remaining data
in subsequent calls.
2011-11-10 10:25:47 -05:00
Justin Ruggles
de157f2118
apedec: do not needlessly copy s->samples to nblocks.
...
also move nblocks to the local scope where it is used.
2011-11-10 10:25:47 -05:00
Justin Ruggles
4315c7d35a
apedec: check output buffer size after calculating actual output size
2011-11-10 10:25:47 -05:00
Justin Ruggles
ad17207b51
apedec: remove unneeded entropy decoder normalization.
...
The decoder already skips data at the end of the packet without this.
Also remove 2 APEContext fields that were only used for the end-of-frame
normalization.
2011-11-10 10:25:47 -05:00
Justin Ruggles
59f4d1b8bb
truespeech: use memmove() in truespeech_update_filters()
2011-11-10 10:25:46 -05:00
Justin Ruggles
41899b9acb
vorbisdec: remove AVCODEC_MAX_AUDIO_FRAME_SIZE check
...
The user could provide a larger buffer, which is already checked separately
before writing output.
2011-11-10 10:25:46 -05:00
Justin Ruggles
e551a6f49a
vorbisdec: remove unneeded buf_size==0 check
2011-11-10 10:25:46 -05:00
Justin Ruggles
f666276fa6
vorbisdec: return proper error codes instead of made-up ones
2011-11-10 10:25:46 -05:00
Laurent Aimar
2305742b2a
sunrast: Check for invalid/corrupted bitstream
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-11-10 12:32:26 +01:00
Justin Ruggles
f1f6d3615f
avcodec: add support for planar signed 8-bit PCM.
...
It is found in some 8svx files (e.g. ones created by SoX).
Currently the decoder reuses the 8svx functions because we already have
handling of a single large planar packet for the compressed 8svx codecs.
2011-11-09 17:48:54 -05:00
Justin Ruggles
fed5ca255f
ra144enc: add sample_fmts list to ff_ra_144_encoder
...
This enables the user (i.e. avconv) to automatically convert to the supported
sample format if needed.
2011-11-09 16:53:23 -05:00
Justin Ruggles
818a3bdedf
smackaud: use uint8_t* for 8-bit output buffer type
...
This matches the output sample format and the range of the output values.
2011-11-09 16:21:08 -05:00
Justin Ruggles
375ca0aca8
smackaud: clip output samples
2011-11-09 16:20:45 -05:00
Justin Ruggles
c86c3c8017
smackaud: use sign_extend() for difference value instead of casting
2011-11-09 16:19:52 -05:00
Justin Ruggles
979c8de549
sipr: use a function pointer to select the decode_frame function
2011-11-09 14:59:52 -05:00
Justin Ruggles
3468ff1060
sipr: set mode based on block_align instead of bit_rate
...
the user is not required to set bit_rate
2011-11-09 14:59:51 -05:00
Justin Ruggles
0005f9a35b
sipr: do not needlessly set *data_size to 0 when returning an error
2011-11-09 14:59:51 -05:00
Justin Ruggles
9cb70ce34b
ra288: fix formatting of LOCAL_ALIGNED_16
2011-11-09 13:45:50 -05:00
shahriman AMS
c33d4916fb
VC1: Add bottom field offset to block_index[] to avoid rewriting (+10L)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 11:00:49 +01:00
shahriman AMS
62622d04eb
vc1dec: move an if() block.
...
There are no reason for "if (c_valid) { ... }" to appear before
"if (b_valid) { ... }".
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 11:00:20 +01:00
shahriman AMS
4bceeaf0c1
vc1dec: use correct hybrid prediction threshold.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:53:24 +01:00
shahriman AMS
4344ce08f1
vc1dec: Partial rewrite of vc1_pred_mv()
...
The current code is a generalization of the earlier progressive MV
prediction code. This was supposed to predict MVs for both interlaced
and progressive pictures. But the interlaced MV prediction is buggy
and works mostly by luck.
This partially fixes interlaced MV prediction.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:51:58 +01:00
shahriman AMS
6475a6e1ca
vc1dec: take ME precision into account while scaling MV predictors.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-09 10:51:22 +01:00
Alex Converse
1149fbc763
indeo3: Fix a fencepost error.
...
Found with asan and the venerable 1-dog.avi sample.
2011-11-08 10:59:52 -08:00
Justin Ruggles
2467d8d9ea
ra288: return error if input buffer is too small
2011-11-08 12:36:56 -05:00
Justin Ruggles
0131e70af5
ra288: utilize DSPContext.vector_fmul()
2011-11-08 12:36:48 -05:00
Justin Ruggles
03e5d6118c
ra288: use memcpy() to copy decoded samples to output
2011-11-08 12:36:41 -05:00
Justin Ruggles
f50b6be57d
mace: only calculate output buffer size once
2011-11-08 12:36:14 -05:00
Diego Biurrun
ce33320b30
Remove redundant filename self-references inside files.
...
Filenames are brittle across renames and add no useful information.
2011-11-08 17:52:56 +01:00
Diego Biurrun
9412f81138
indeo3data: add missing config.h #include for HAVE_BIGENDIAN
2011-11-08 17:52:56 +01:00
Diego Biurrun
276b995d85
x86: drop pointless ARCH_X86 #ifdef from files in x86 subdirectory
2011-11-08 17:52:55 +01:00
Kostya Shishkov
f545e00677
BMV demuxer and decoder
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-08 00:36:45 +02:00
Alex Converse
090aaaf752
mpeg12enc: Remove write-only variables.
2011-11-07 10:53:55 -08:00
Alex Converse
7c5dfc174b
mpeg12enc: Don't set up run-level info for level 0.
...
run: The number of zero coefficients preceding a non-zero coefficient,
in the scan order. The absolute value of the non-zero coefficient is
called "level".
The run-level code makes illegal reads when trying to set up tables for
nonsense level 0.
2011-11-07 10:50:48 -08:00
Alex Converse
a1684cf82d
msmpeg4: Don't set up run-level info for level 0.
...
run: The number of zero coefficients preceding a non-zero coefficient,
in the scan order. The absolute value of the non-zero coefficient is
called "level".
The run-level code makes illegal reads when trying to set up tables for
nonsense level 0.
2011-11-07 10:48:53 -08:00
Justin Ruggles
b8f02f5b4e
dsputil: use cpuflags in x86 versions of vector_clip_int32()
2011-11-06 20:50:06 -05:00
Kostya Shishkov
66760b30a3
cosmetics: insert some spaces in explicit enum value assignments
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 08:13:11 +01:00
Kostya Shishkov
19900d60fd
move 8SVX audio codecs to the audio codec list part on the next bump
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 08:12:42 +01:00
Kostya Shishkov
0e288b8c52
deprecate codec IDs that won't ever be used
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-11-06 07:41:58 +01:00
Ronald S. Bultje
717401aff2
h264_weight: remove duplication functions.
2011-11-05 07:16:30 -07:00
Ronald S. Bultje
ea2bb12e3e
h264: improve calculation of codec delay.
...
Fixes the following conformance suite samples:
HCBP1_HHI_A.264, HCBP2_HHI_A.264, HCMP1_HHI_A.264 (main)
HCHP1_HHI_B.264, HCHP2_HHI_A.264, HCHP3_HHI_A.264 (frext)
2011-11-05 06:58:52 -07:00
Martin Storsjö
8148631269
w32threads: Wrap the mutex functions in inline functions returning int
...
This allows using these wrappers in the gcrypt mutex callbacks.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:09:24 +02:00
Martin Storsjö
2d1b6fb72b
avcodec: Allow locking and unlocking an avformat specific mutex
...
This extends the lock manager in avcodec to manage two separate
mutexes via the user-specified lock functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-05 12:08:53 +02:00
Justin Ruggles
add7b1140f
binkaudio: expand quant_table to accommodate all possible values
2011-11-04 10:23:53 -04:00
Martin Storsjö
c38404ee1a
libx264: Set the default of the rc_lookahead option to -1
...
This allows it to use the defaults specified by preset/tune,
without overwriting it with the default value from the
AVCodecContext field.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-04 12:46:35 +02:00
Martin Storsjö
adc85ce20b
avcodec: Set flags2 default value depending on availability
...
This makes the code compile when FF_API_X264_GLOBAL_OPTS or
FF_API_LAME_GLOBAL_OPTS is 0.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-04 12:46:33 +02:00
Alex Converse
2a6eb06254
vp6: Fix illegal read.
2011-11-03 16:40:34 -07:00
Martin Storsjö
cae4f4b77e
avcodec: Make sure codec_type is set by avcodec_get_context_defaults2
...
This function used to set codec_type. With the current fallback
implementation based on avcodec_get_context_defaults3, codec_type
won't be set to the value passed in, but will be set to
AVMEDIA_TYPE_UNKNOWN. Legacy callers of this function might expect
this field to be set to the value passed in.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-03 13:29:48 +02:00
Martin Storsjö
1b6da627d4
avcodec: Remove a misplaced and useless attribute_deprecated
...
If attribute_deprecated is used in an enum declaration, it
should follow the 'enum' keyword, otherwise it's ignored
silently. This is the only case of attribute_deprecated for
enum declarations currently.
Currently, this attribute_deprecated doesn't have any effect.
If moved to the right place, it emits a warning every single
time avcodec.h is included, like this:
avcodec.h:2827: warning: ‘AVLPCType’ is deprecated (declared at avcodec.h:543)
There is already a working attribute_deprecated for the
corresponding field in AVCodecContext, so therefore this
one shouldn't be needed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-03 09:47:57 +02:00
Justin Ruggles
5463e83dbc
fmtconvert: fix int32_to_float_fmul_scalar() for windows x86_64
...
The calling convention only allows 4 non-stack parameter, with each
float or int register being skipped if not used.
fixes Bug 64
2011-11-02 21:44:58 -04:00
Maxim Poliakovski
594b54b51e
replacement Indeo 3 decoder
...
The new decoder is much smaller and has better code quality.
Cleanup and fixes courtesy of Kostya Shishkov.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-11-03 00:59:12 +01:00
Justin Ruggles
c2d9a65bc0
ac3enc: doxygen update.
...
Add some parameters to existing function documentation.
Remove some unneeded documentation.
Convert some static function documentation to non-doxygen style.
2011-11-02 17:21:45 -04:00
Justin Ruggles
a4998e448f
imc: return error codes instead of 0 for error conditions.
...
This fixes a bug where the whole buffer was returned as decoded audio due to
*data_size not being set to zero and the return value being >= 0.
2011-11-02 17:02:22 -04:00
Justin Ruggles
08e5cd3810
imc: return meaningful error codes instead of -1
2011-11-02 17:02:22 -04:00
Justin Ruggles
0473f29b60
imc: do not set channel layout for stereo
...
we only support decoding of mono imc
2011-11-02 17:02:22 -04:00
Justin Ruggles
7b7f47e733
imc: validate channel count
...
ask for a sample if not mono
2011-11-02 17:02:22 -04:00
Justin Ruggles
95fee70d67
imc: check for ff_fft_init() failure
2011-11-02 17:02:22 -04:00
Justin Ruggles
86962b13f6
imc: check output buffer size before decoding
2011-11-02 17:02:22 -04:00
Justin Ruggles
e9362aaedf
imc: use DSPContext.bswap16_buf() to byte-swap packet data
2011-11-02 17:02:22 -04:00
Justin Ruggles
20e081dddc
libgsm: add flush function to reset the decoder state when seeking
2011-11-02 14:41:17 -04:00
Justin Ruggles
480324e7ca
libgsm: simplify decoding by using a loop
2011-11-02 14:41:17 -04:00
Justin Ruggles
9d52f0a711
gsm: log error message when packet is too small
2011-11-02 14:41:17 -04:00
Justin Ruggles
9671db8245
libgsmdec: do not needlessly set *data_size to 0
2011-11-02 14:41:16 -04:00
Justin Ruggles
a2e255783e
gsmdec: do not needlessly set *data_size to 0
2011-11-02 14:41:16 -04:00
Justin Ruggles
fc43fc9faa
gsmdec: add flush function to reset the decoder state when seeking
2011-11-02 14:41:16 -04:00
Justin Ruggles
b03761b130
libgsmdec: check output buffer size before decoding
2011-11-02 14:41:16 -04:00
Justin Ruggles
bac2597a32
gsmdec: log error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1
2011-11-02 14:41:16 -04:00
Justin Ruggles
d9c6eece21
gsm: use av_get_bytes_per_sample() in frame_bytes calculation
2011-11-02 14:41:16 -04:00
Diego Biurrun
f36b390275
Replace some forgotten FFmpeg references by Libav.
2011-11-02 10:42:55 +01:00
Diego Biurrun
2f5df0b12c
Replace ffmpeg references with more accurate libav* references.
2011-11-02 10:42:55 +01:00
Diego Biurrun
20566eb0f0
Replace outdated references to ffmpeg tool with avconv.
2011-11-02 10:42:54 +01:00
Diego Biurrun
124e28847b
Remove some stray unnecessary ffmpeg references.
2011-11-02 10:42:54 +01:00
Diego Biurrun
d1dfcb0829
vp3: remove some pointless comments
2011-11-02 10:42:54 +01:00
Anton Khirnov
5511ad14fe
lavc: use designated initialisers for parsers.
2011-11-02 10:03:43 +01:00
Justin Ruggles
da24963725
g726dec: add flush() function to reset state when seeking
2011-11-01 21:23:04 -04:00
Justin Ruggles
97f5dd1d84
g726: don't pass index to g726_reset()
...
calculate it from c->code_size instead.
2011-11-01 21:23:04 -04:00
Justin Ruggles
615b2a2cf5
g726enc: add private option for setting code size directly.
...
This is an easy alternative to setting bit_rate. This patch also selects the
closest bit_rate to the requested one rather than requiring an exact value.
2011-11-01 21:23:04 -04:00
Justin Ruggles
7abb73d4ba
g726: wrap the decoder functions with a CONFIG_ADPCM_G726_DECODER check
2011-11-01 21:23:04 -04:00
Justin Ruggles
437c11ca16
g726: group the g726_encoder AVCodec with the other encoding functions
2011-11-01 21:23:04 -04:00
Justin Ruggles
50969c0f46
g726: return AVERROR(EINVAL) instead of -1 for invalid channel count
2011-11-01 21:23:03 -04:00
Justin Ruggles
50c466d609
g726enc: use av_assert0() for sample_rate validation
...
This should never happen, but the check avoids a divide-by-zero.
2011-11-01 21:23:03 -04:00
Justin Ruggles
9e78d8cfdf
g726: treat sample rates other than 8kHz as unofficial.
2011-11-01 21:23:03 -04:00
Justin Ruggles
6e8d4a7afb
g726dec: remove the sample_rate validation
2011-11-01 21:23:03 -04:00
Justin Ruggles
6ac34eed54
g726: use bits_per_coded_sample instead of bitrate to determine mode
...
This requires some workarounds in the WAV muxer and demuxer. We need to write
the correct bits_per_coded_sample and block_align in the muxer. In the
demuxer, we cannot rely on the bits_per_coded_sample value, so we use the bit
rate and sample rate to determine the value.
This avoids having the decoder rely on AVCodecContext.bit_rate, which is not
required to be set by the user for decoding according to our API.
2011-11-01 21:23:03 -04:00
Justin Ruggles
d405237bae
g726: split the init function for the encoder and decoder
...
This also allows for not having a decoder close function.
2011-11-01 21:23:03 -04:00
Justin Ruggles
c8d36d254e
g726: pre-calculate the number of output samples.
...
Allows for checking output buffer size and simplification of decoding loop.
2011-11-01 21:23:03 -04:00
Justin Ruggles
e61a670b53
g726: use int16_t instead of short
2011-11-01 21:23:02 -04:00
Diego Biurrun
45235d69c2
libdirac/libschroedinger: Drop unnecessary symbol prefixes.
...
The names used in the libdirac/libschroedinger wrappers are long enough as-is.
Bloating them with unnecessary prefixes makes them even more unwieldy.
2011-10-30 21:40:52 +01:00
Justin Ruggles
7d1b17b833
cin audio: use sign_extend() instead of casting to int16_t
2011-10-29 16:43:40 -04:00
Justin Ruggles
405af43104
cin audio: restructure decoding loop to avoid a separate counter variable
...
Also check output buffer size instead of truncating output.
2011-10-29 16:43:40 -04:00
Justin Ruggles
859bdc33e4
cin audio: use local variable for delta value
2011-10-29 16:43:40 -04:00
Justin Ruggles
64e19ba48b
cin audio: remove unneeded cast from void*
2011-10-29 16:43:40 -04:00
Justin Ruggles
03381c12b3
cin audio: validate the channel count
2011-10-29 16:43:40 -04:00
Justin Ruggles
664eb77dc3
cin audio: remove unneeded AVCodecContext pointer from CinAudioContext
2011-10-29 16:43:40 -04:00
Justin Ruggles
5bd0343bee
flacdec: use av_get_bytes_per_sample() to get sample size
2011-10-29 16:05:25 -04:00
Justin Ruggles
272fcc32bb
dca: handle errors from dca_decode_block()
...
Return error if core block decoding fails.
Do not enable XCh if XCh extension block decoding fails.
2011-10-29 16:04:07 -04:00
Justin Ruggles
aae6eead6a
dca: return error if the frame header is invalid
2011-10-29 16:04:07 -04:00
Justin Ruggles
f44059d260
dca: return proper error codes instead of -1
2011-10-29 16:04:06 -04:00
Kostya Shishkov
46e1af3b0f
utvideo: handle empty Huffman trees
...
If the frame is filled with the same colour, encoder may produce no data
and the fill value is indicated by zero code length (the rest of symbols
will have 0xFF for code length, meaning invalid). So such Huffman trees
should be treated specially.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-29 12:54:08 -07:00
Justin Ruggles
425a843505
binkaudio: change short to int16_t
2011-10-29 15:16:54 -04:00
Justin Ruggles
4f4e19480a
binkaudio: only decode one block at a time.
...
This prevents truncating output due to an output buffer that is too small for
all blocks. There is no limit on the number of blocks in a packet.
2011-10-29 15:16:54 -04:00
Justin Ruggles
eaddd29e00
binkaudio: store interleaved overlap samples in BinkAudioContext.
...
This fixes the requirement for the buffer size to be larger than the number of
samples actually decoded.
2011-10-29 15:16:54 -04:00
Justin Ruggles
9f48039a37
binkaudio: pre-calculate quantization factors
2011-10-29 15:16:53 -04:00
Justin Ruggles
101ef19ef4
binkaudio: add some buffer overread checks.
...
This stops decoding before overreads instead of after.
2011-10-29 15:16:53 -04:00
Justin Ruggles
2073224697
atrac3: support float or int16 output using request_sample_fmt
2011-10-29 15:06:32 -04:00
Justin Ruggles
a047851329
atrac3: add CODEC_CAP_SUBFRAMES capability
...
the decoder can handle multiple frames in a packet
2011-10-29 15:06:32 -04:00
Justin Ruggles
8f98577d4d
atrac3: return appropriate error codes instead of -1
2011-10-29 15:06:32 -04:00
Justin Ruggles
47b617021d
atrac3: make sure all memory is freed on init failure
2011-10-29 15:06:32 -04:00
Justin Ruggles
c91613857d
atrac3: add a couple macro constants
2011-10-29 15:06:31 -04:00
Justin Ruggles
1fead73d7b
atrac3: return error if packet is too small
2011-10-29 15:06:31 -04:00
Justin Ruggles
7e4881a2d0
atrac3: check output buffer size before decoding
2011-10-29 15:06:31 -04:00
Justin Ruggles
6ba7f78bbb
atrac3: use separate pointers for each channel in decodeFrame()
2011-10-29 15:06:31 -04:00
Justin Ruggles
5e76b8bb76
atrac3: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
8af33cb38a
atrac3: decode mono directly to the output buffer
2011-10-29 15:06:31 -04:00
Justin Ruggles
c4a6fde33f
atrac3: decode output to float samples instead of converting to s16
2011-10-29 15:06:31 -04:00
Justin Ruggles
f20dd574f1
atrac1: return appropriate error codes instead of -1
2011-10-29 15:06:31 -04:00
Justin Ruggles
6dc7dd7af4
atrac1: check for ff_mdct_init() failure
2011-10-29 15:06:31 -04:00
Justin Ruggles
21dcecc310
atrac1: use optimized float_interleave() function for stereo interleaving
2011-10-29 15:06:31 -04:00
Justin Ruggles
96b5702efe
atrac1: fix a typo
2011-10-29 15:06:31 -04:00
Justin Ruggles
bff5b2c1ca
atrac1: validate number of channels
2011-10-29 15:06:31 -04:00
Justin Ruggles
9a35ff3841
atrac1: decode mono audio directly to output buffer
...
For stereo we need to use intermediate planar buffers, but mono does not need
to be deinterleaved so the output buffer can be used directly.
2011-10-29 15:06:31 -04:00
Justin Ruggles
33684b9c12
atrac1: check output buffer size before decoding
2011-10-29 15:06:30 -04:00
Justin Ruggles
5c353eb8e3
cook: return AVERROR_PATCHWELCOME instead of ENOTSUP
...
ENOTSUP is not defined on some systems
2011-10-29 14:32:55 -04:00
Justin Ruggles
e34c6c9708
cook: check output buffer size before decoding
2011-10-29 13:43:28 -04:00
Justin Ruggles
6631294c26
cook: do not needlessly set *data_size to 0
2011-10-29 13:43:28 -04:00
Justin Ruggles
b277ebd508
cook: remove pointless return statements
2011-10-29 13:43:28 -04:00
Justin Ruggles
c9c841e231
cook: simplify decouple_info()
2011-10-29 13:43:28 -04:00
Justin Ruggles
f193c96f49
cook: return appropriate error codes instead of -1
2011-10-29 13:43:28 -04:00
Justin Ruggles
e694831f9d
cook: avoid hardcoded sizes in sizeof()
2011-10-29 13:43:28 -04:00
Justin Ruggles
776e9815a5
cook: remove unneeded #includes
2011-10-29 13:43:28 -04:00
Justin Ruggles
c25df22365
cook: output float samples instead of converting to int16
2011-10-29 13:43:28 -04:00
Kostya Shishkov
9a173575fd
utvideo: account for coupled lines in YUV420 format
...
Luma slices in YUV420 colourspace should have height in multiple of two since
they have the same line of chrominance data corresponding to pair of them.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:51:58 -07:00
Ronald S. Bultje
8370e426e4
vp3: fix oob read for negative tokens and memleaks on error.
2011-10-28 23:50:04 -07:00
Ronald S. Bultje
bfa0f96586
vp8: fix overflow in segmentation map caching.
2011-10-28 23:48:43 -07:00
Anton Mitrofanov
640d5f1c80
Fix decoding of lossless 4:2:2 H.264
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:37:30 -07:00
Anton Mitrofanov
fdb5314ea7
Fix decoding of lossless 10-bit 4:4:4 H.264
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-28 23:37:30 -07:00
Alex Converse
77b5c82b49
isom: Add MPEG4SYSTEMS dummy object type indication.
2011-10-28 14:54:13 -07:00
Michael Niedermayer
bc2dd36740
aacdec: allow output reconfiguration on channel changes
...
Locking the decoder against channel config changes in
parse_adts_frame_header() seems to be unnecessary and
streams with channel config changes are reported.
The sample in http://roundup.libav.org/issue999 still works.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-28 22:44:59 +02:00
Justin Ruggles
f3db0f7403
nellymoserenc: take float input samples instead of int16
...
This avoids having to convert all input data from int16 to float, which is used
internally for encoding.
2011-10-28 14:40:52 -04:00
Justin Ruggles
77c8ef9a36
nellymoserdec: use dsp functions for overlap and windowing
2011-10-28 14:40:52 -04:00
Justin Ruggles
8c9581f052
nellymoserdec: do not fail if there is extra data in the packet
...
instead just print a warning
2011-10-28 14:40:52 -04:00
Justin Ruggles
0aaa85dbed
nellymoserdec: fail if output buffer is too small
...
avoids silently truncating the output
2011-10-28 14:40:52 -04:00
Justin Ruggles
f19305fe93
nellymoserdec: remove pointless buffer size check.
2011-10-28 14:40:51 -04:00
Michael Niedermayer
8fa97302e0
snow: do not draw_edge if emu_edge is set
...
Fix segfault on emu edge, to reproduce
make fate-vsynth1-snow
avplay -flags emu_edge tests/data/vsynth1/snow.avi
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-10-28 10:14:11 -07:00
Justin Ruggles
813907d424
wmavoice: move output buffer size check to synth_superframe().
...
this allows for checking against the actual output size instead of max size.
2011-10-28 12:02:24 -04:00
Justin Ruggles
d064076570
wmavoice: only set data_size to 0 when necessary
2011-10-28 12:02:24 -04:00
Justin Ruggles
1db6437f6c
wmapro: fix strict-aliasing violations by using av_alias32
...
Also fix some undefined unsigned/signed conversions.
2011-10-28 12:02:24 -04:00
Justin Ruggles
b8b4c9c328
wmapro: use FmtConvertContext.float_interleave() to interleave output samples
2011-10-28 12:02:24 -04:00
Justin Ruggles
d0b1b1c5c7
wmadec: consolidate 2 output buffer size checks into 1 check
2011-10-28 12:02:23 -04:00
Justin Ruggles
9a33264478
apedec: assert that s->samples is not negative before trying to decode
2011-10-28 11:47:29 -04:00
Justin Ruggles
0927154d37
apedec: use FFALIGN macro for internal data buffer size
2011-10-28 11:47:28 -04:00
Justin Ruggles
5b8009f4c8
apedec: do not keep incrementing the input data pointer past the end of the
...
buffer during entropy decoding.
The pointer address could overflow, which would likely segfault. Instead set
the context error flag to indicate that the decoder tried to read past the
end of the packet data.
2011-10-28 11:47:28 -04:00
Justin Ruggles
a4c32c9a63
apedec: check for input buffer overflow while reading frame header
2011-10-28 11:47:28 -04:00
Justin Ruggles
fd244ae3a0
apedec: use unsigned int for offset
...
avoids implementation-defined unsigned-to-signed conversion and simplifies
the bounds checking.
2011-10-28 11:47:28 -04:00
Justin Ruggles
89ec474a43
apedec: remove pointless increment of 'buf'
...
The variable is not used anymore at that point.
2011-10-28 11:47:28 -04:00
Justin Ruggles
52d4fb2a3d
apedec: set s->currentframeblocks after validating nblocks
2011-10-28 11:47:28 -04:00
Justin Ruggles
2cab578489
apedec: use unsigned int for 'nblocks' and make sure that it's within int range
2011-10-28 11:47:27 -04:00
Justin Ruggles
b7e5145759
apedec: do not set s->samples until after validation.
...
This prevents errors and/or invalid writes in the next decode call due to
s->samples still being negative.
2011-10-28 11:47:27 -04:00
Justin Ruggles
11ca8b2d74
apedec: check for data buffer realloc failure
2011-10-28 11:47:27 -04:00
Justin Ruggles
91b71460b5
apedec: return meaningful error values in ape_decode_frame()
2011-10-28 11:47:27 -04:00
Justin Ruggles
c6defb41ef
apedec: correct an error message
2011-10-28 11:47:27 -04:00
Justin Ruggles
da55e0980e
apedec: cosmetics
...
break some excessively long lines and remove space after '*'
2011-10-28 11:46:41 -04:00
Justin Ruggles
f64e0a2f37
apedec: return meaningful error codes from ape_decode_init()
2011-10-28 11:41:39 -04:00
Justin Ruggles
7500781313
apedec: check for filter buffer allocation failure
2011-10-28 11:41:39 -04:00
Justin Ruggles
b9d6b02713
apedec: use memcpy for pseudo-stereo mode
2011-10-28 11:41:39 -04:00
Justin Ruggles
3c25209bd9
apedec: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3().
2011-10-28 11:41:39 -04:00
Justin Ruggles
ec6d743118
mp3on4: do not needlessly set data_size to 0
2011-10-27 22:06:32 -04:00
Justin Ruggles
99975966c3
mp3adu: return error instead of just consuming bad packets
2011-10-27 22:06:32 -04:00
Justin Ruggles
e2e6c8799b
mpegaudiodec: check output data size based on avctx->frame_size
2011-10-27 22:06:32 -04:00
Justin Ruggles
512557b291
avcodec: remove avcodec_parse_frame and deprecate associated elements.
...
The documentation for CODEC_CAP_PARSE_ONLY and AVCodecContext.parse_only
indicates that they are utilized through avcodec_parse_frame(), which was
never actually implemented.
2011-10-27 22:06:32 -04:00
Justin Ruggles
cd816d9bbb
mpegaudiodec: cosmetics: basic pretty-printing
2011-10-27 22:06:32 -04:00
Justin Ruggles
c17e534f2e
mpegaudiodec: remove frame_count field from MPADecodeContext.
...
Its functionality was removed several years ago, so it doesn't do anything.
AVCodecContext.frame_number could serve the same purpose if someone
wants to debug the frame count.
2011-10-27 22:06:32 -04:00
Justin Ruggles
dac15a03af
mpegaudiodec: return AVERROR return codes instead of -1
2011-10-27 22:06:32 -04:00
Justin Ruggles
4be1e1dfa7
mpegaudiodec: Skip only bad frames instead of the whole packet.
...
On frame decoding failure, return an error if the frame is the same size as
the whole packet, otherwise just log an error message and return the number
of bytes consumed.
2011-10-27 22:06:31 -04:00
Anton Khirnov
15946eb8a9
lavc: remove "legacy" mpegvideo decoder.
2011-10-27 23:06:26 +02:00
Justin Ruggles
4a6a29a7fb
libopencore-amr: check output buffer size before decoding
2011-10-26 16:00:37 -04:00
Justin Ruggles
345d15d2f9
libopencore-amr: remove unneeded buf_size==0 check.
...
avcodec_decode_audio3() already checks it before sending the packet to the
decoder.
2011-10-26 16:00:37 -04:00
Justin Ruggles
402c98783d
libopencore-amr: remove unneeded frame_count field.
...
Use AVCodecContext.frame_number instead.
2011-10-26 16:00:36 -04:00
Justin Ruggles
71ccfb3f14
aac_latm: remove unneeded check for zero-size packet.
...
This is already checked by avcodec_decode_audio3()
2011-10-26 12:21:18 -04:00
Justin Ruggles
f1901180e0
pcmdec: fix output buffer size check by calculating the actual output size
...
prior to decoding.
2011-10-26 12:01:07 -04:00
Justin Ruggles
154cd253e5
pcmdec: move codec-specific variable declarations to the corresponding codec
...
blocks.
2011-10-26 12:01:07 -04:00
Justin Ruggles
0093f96d34
pcmdec: return buf_size instead of src-buf.
...
The values will always be the same, so this change eliminates an unneeded
variable. It also gets rid of the need to reset src when memcpy() is used.
2011-10-26 12:01:07 -04:00
Justin Ruggles
85579b6381
avcodec: remove the Zork PCM encoder.
...
The Zork PCM decoder does not decode the 1 sample we have correctly, therefore
the encoder based on the decoder is also incorrect. There is no good reason to
keep the encoder.
2011-10-26 12:01:07 -04:00
Justin Ruggles
67a3b67c71
pcm_zork: use AV_SAMPLE_FMT_U8 instead of shifting all samples by 8.
2011-10-26 12:01:07 -04:00
Justin Ruggles
06af335a33
pcmenc: remove unneeded sample_fmt check.
...
It is already checked by avcodec_open2().
2011-10-26 12:01:07 -04:00
Justin Ruggles
d94e29cac9
pcmdec: move number of channels check to pcm_decode_init()
2011-10-26 12:01:06 -04:00
Justin Ruggles
83efd7652e
pcmdec: remove unnecessary check for sample_fmt change
2011-10-26 12:01:06 -04:00
Justin Ruggles
381e195b46
pcmdec: move DVD PCM bits_per_coded_sample check near to the code that sets
...
the sample size.
2011-10-26 12:01:06 -04:00
Justin Ruggles
6b94711f15
pcmdec: do not needlessly set *data_size to 0
2011-10-26 12:01:06 -04:00
Justin Ruggles
30f3e7b524
alacdec: remove unneeded NULL or zero-size packet checks.
...
This is already done in avcodec_decode_audio3()
2011-10-26 11:50:17 -04:00
Justin Ruggles
68f7e9cd8e
alacdec: simplify buffer allocation by using FF_ALLOC_OR_GOTO()
2011-10-26 11:50:17 -04:00
Justin Ruggles
b316af7a7c
alacdec: ask for a sample for unsupported sample depths.
...
Also return AVERROR_PATCHWELCOME.
2011-10-26 11:50:17 -04:00
Justin Ruggles
63cf54df7a
alacdec: cosmetics: use 'ch' instead of 'chan' to iterate channels
2011-10-26 11:50:17 -04:00
Justin Ruggles
01200f1283
alacdec: move some declarations to the top of the function
2011-10-26 11:50:17 -04:00
Justin Ruggles
c3a92412c0
alacdec: always use get_sbits_long() for uncompressed samples
2011-10-26 11:50:17 -04:00
Justin Ruggles
b46e58f741
alacdec: remove unneeded local variable
2011-10-26 11:50:17 -04:00
Justin Ruggles
7080533cda
alacdec: remove the numchannels parameter from several functions.
...
They only operate on stereo content, so the extra param is not necessary and
also allows for simplifying the code.
2011-10-26 11:50:17 -04:00
Justin Ruggles
cb50329fc5
alacdec: rename 2 functions.
...
Now they only do stereo interleaving.
2011-10-26 11:50:16 -04:00
Justin Ruggles
c39bddd392
alacdec: move appending of extra_bits to a separate function.
...
This should also fix decoding of mono 24-bit.
2011-10-26 11:50:16 -04:00
Justin Ruggles
e739d35156
alacdec: split stereo decorrelation into a separate function.
...
It is identical for 16-bit and 24-bit, so there is no need to have duplicate
code.
2011-10-26 11:50:16 -04:00
Justin Ruggles
d251c85dce
alacdec: cosmetics: rename 'wasted_bits' to 'extra_bits'.
...
The bits are not wasted, they are additional low bits that are added to the
16-bit decompressed samples to increase the output sample depth.
2011-10-26 11:50:16 -04:00
Justin Ruggles
dbbb9262ca
alacdec: remove unneeded numsamples checks
2011-10-26 11:50:16 -04:00
Justin Ruggles
53df079a73
alacdec: check for buffer allocation failure.
...
Also rearranges some functions for easier cleanup on failure.
2011-10-26 11:50:16 -04:00
Justin Ruggles
e5e4f92b5c
alacdec: allocate per-channel buffers based on channel count.
...
reduces memory usage when the stream has fewer than MAX_CHANNELS
2011-10-26 11:50:16 -04:00
Justin Ruggles
dcaa83a0fc
alacdec: read/validate number of channels from the extradata.
...
check frame header channel count against header/container channel count.
2011-10-26 11:50:16 -04:00
Justin Ruggles
47e9c75b36
alacdec: remove unneeded validation of setinfo_sample_size.
...
It is already done when using it to set sample_fmt.
2011-10-26 11:50:16 -04:00
Justin Ruggles
0f26f3d5c4
alacdec: set sample_fmt in alac_decode_init()
2011-10-26 11:50:16 -04:00
Justin Ruggles
aec8383348
alacdec: set bytespersample using av_get_bytes_per_sample()
2011-10-26 11:50:15 -04:00
Janne Grunau
d6174bfe5f
threads: restore has_b_frames in frame_thread_free
...
Otherwise the delay expressed in has_b_frames increases with every
avcodec_close/avcodec_open.
Fixes fate-ea-dct with more than 1 thread.
2011-10-26 16:55:54 +02:00
Daniel Kang
ded3e9f054
H.264: Cometics to dsputil_mmx.c
...
Add whitespace.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-26 06:41:32 -07:00
Justin Ruggles
a3a8572165
g722dec: check output buffer size before decoding
2011-10-25 11:30:50 -04:00
Justin Ruggles
4e41973794
g722dec: cosmetics: reindent/linewrap
2011-10-25 11:30:50 -04:00
Justin Ruggles
d0a196962a
g722dec: remove the use of lowres for half-rate decoding.
...
It is broken because an AVCodecContext can be opened/closed multiple
times, and sample_rate is getting divided by 2 each time that happens.
This removes the only use of lowres for audio.
2011-10-25 11:30:50 -04:00
Justin Ruggles
2f1d212fd0
tta: check for allocation failure of decode_buffer
2011-10-25 11:22:02 -04:00
Justin Ruggles
b5050539c9
tta: use correct frame_length calculation.
...
using a floating-point calculation is not necessary.
2011-10-25 11:22:02 -04:00
Justin Ruggles
c6056d4004
tta: add support for decoding 24-bit sample format
...
Note that this will not work in most cases with avconv and avplay due to the
AVCODEC_MAX_AUDIO_FRAME_SIZE limit, but it will decode correctly if given a
large enough output buffer.
2011-10-25 11:22:02 -04:00
Justin Ruggles
8664682d0e
cosmetics: indentation
2011-10-25 11:22:02 -04:00
Justin Ruggles
7b7a74a150
tta: remove pointless braces
2011-10-25 11:22:02 -04:00
Justin Ruggles
e6923f683c
tta: check output buffer size after adjusting frame length for last frame
2011-10-25 11:22:01 -04:00
Justin Ruggles
b16960a8a5
tta: fix reading of format in TTA header.
...
TTA does not support float at all, and format 2 is encrypted TTA.
2011-10-25 11:22:01 -04:00
Justin Ruggles
4d3e7a7516
tta: remove useless commented-out lines
2011-10-25 11:22:01 -04:00
Justin Ruggles
35f9d8c20a
tta: check remaining bitstream size while reading unary value
2011-10-25 11:22:01 -04:00
Janne Grunau
28287045ca
cosmetics: simplify latm_decode_init
2011-10-25 12:08:21 +02:00
Janne Grunau
785f876cee
latm: avoid unnecessary reinit of the aac decoder
2011-10-25 12:08:21 +02:00
Janne Grunau
80e36425fb
aacdec: initialize sbr context only in new channel elements
2011-10-25 12:07:58 +02:00
Janne Grunau
b2e56e08c9
resample: reject unhandled conversions
...
audio_resample can not reduce the number of channels
2011-10-25 12:06:48 +02:00
Janne Grunau
ec1ce86e7f
resample: remove unused #define
2011-10-25 12:06:48 +02:00
Mans Rullgard
c8477df019
adpcm: use sign_extend()
...
This avoids warnings from the overflow checker and simplifies the code.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-24 15:26:24 +01:00
Janne Grunau
d99fe3a478
mpeg12: fix mpeg_decode_slice context parameter type
...
During slice threading only MpegEncContext is passed to
mpeg_decode_slice, remove a wrong cast and change the function
definition to take MpegEncContext pointer.
2011-10-24 01:05:00 +02:00
Janne Grunau
cd8c64e197
Revert "mpeg12: move full_pel from MpegEncContext to Mpeg1Context"
...
This reverts commit da22ba7df4
since it
broke slice threading. Slice threading just duplicates MpegEncContext
so every value used during mpeg_decode_slice has to be in it.
A second patch will fix the illusion that Mpeg1Context is available
in mpeg_decode_slice.
2011-10-24 00:59:41 +02:00
Justin Ruggles
704721bc9c
g722: split decoder and encoder into separate files
2011-10-23 11:42:34 -04:00
Justin Ruggles
b95fbba705
cosmetics: remove extra spaces before end-of-statement semi-colons
2011-10-23 11:36:56 -04:00
Justin Ruggles
60aa1a358d
vorbisdec: check output buffer size before writing output
2011-10-23 11:36:56 -04:00
Justin Ruggles
d2604f9260
wavpack: calculate bpp using av_get_bytes_per_sample()
2011-10-23 11:35:46 -04:00
John Stebbins
ddfb8e1adb
ac3enc: Set max value for mode options correctly
...
for example:
Attempting to set ac3 dsur_mode to "on" results in:
[AC-3 Encoder @ 0x7f508f0a3280] Value 2.000000 for parameter 'dsur_mode' out of range
[AC-3 Encoder @ 0x7f508f0a3280] Error setting option dsur_mode to value on.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-23 11:30:54 -04:00
Anton Khirnov
1deb66c50c
lavc: move get_b_cbp() from h263.h to mpeg4videoenc.c
...
It's not used anywhere else.
2011-10-23 14:16:16 +02:00
Anton Khirnov
3fc0830432
mpeg12: move closed_gop from MpegEncContext to Mpeg1Context
...
It's MPEG-1/2 specific.
2011-10-23 14:15:56 +02:00
Anton Khirnov
da22ba7df4
mpeg12: move full_pel from MpegEncContext to Mpeg1Context
...
It's MPEG-1 specific.
2011-10-23 14:14:39 +02:00
Anton Khirnov
cc05a45d33
mpeg12: move Mpeg1Context from mpeg12.c to mpeg12.h
...
It will be used in vdpau code.
2011-10-23 14:14:34 +02:00
Anton Khirnov
acffe45732
mpegvideo: remove some unused variables from MpegEncContext.
2011-10-23 14:13:40 +02:00
Mashiat Sarker Shakkhar
f18746528d
VC1: restore mistakenly removed code
...
The code was mistakenly removed in cad16562c8
.
It stored some motion vector data for future use in B-pictures.
This fixes Bugzilla bug #57 .
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-22 22:51:00 +02:00
Justin Ruggles
e53eecd0e7
twinvq: check output buffer size before decoding
2011-10-22 15:38:05 -04:00
Justin Ruggles
5ed6817822
twinvq: return an error when the packet size is too small
2011-10-22 15:38:05 -04:00
Dustin Brody
9abc98737f
lavc: replace references to deprecated AVCodecContext.error_recognition to use AVCodecContext.err_recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:55 +02:00
Dustin Brody
5ea0001f9e
lavc: translate non-flag-based er options into flag-based ef options at codec open
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:22 +02:00
Dustin Brody
c8dad9a694
add -err_filter AVOptions to access flag-based error recognition
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-22 14:49:14 +02:00
Ronald S. Bultje
b0b3231074
h264_weight: initialize "height" function argument properly.
...
Right now it's not actually initialized on 32-bit, leading to crashes
on win32.
2011-10-22 00:23:24 -07:00
Justin Ruggles
b19e0c2b4e
libspeexdec: include system headers before local headers
2011-10-21 17:07:05 -04:00
Justin Ruggles
a470fe80ba
libspeexdec: return meaningful error codes
2011-10-21 17:07:04 -04:00
Justin Ruggles
14bc60dbae
libspeexdec: cosmetics: reindent
2011-10-21 17:07:04 -04:00
Justin Ruggles
7eeaa6796b
libspeexdec: decode one frame at a time.
...
This allows for knowing the output size before decoding even when there is no
header (e.g. FLV). Otherwise we would have to do a preliminary full frame
decode to determine the number of frames-per-packet.
2011-10-21 17:07:04 -04:00
Justin Ruggles
95891804bf
mp3on4: check for allocation failures in decode_init_mp3on4()
2011-10-21 12:34:43 -04:00
Justin Ruggles
180bf988bc
mp3on4: create a separate flush function for MP3onMP4.
...
The correct decoder private context needs to be used.
This fixes mp3on4 playback and seeking in avplay.
2011-10-21 12:33:15 -04:00
Justin Ruggles
53c8443ad2
mp3on4: ensure that the frame channel count does not exceed the codec channel
...
count.
This also allows for checking output data size based on the actual
number of channel instead of the maximum number of channels.
2011-10-21 12:32:35 -04:00
Justin Ruggles
1183d6cd98
mp3on4: set channel layout
2011-10-21 12:29:51 -04:00
Justin Ruggles
fff0f831e0
mp3on4: fix the output channel order
2011-10-21 12:29:51 -04:00
Justin Ruggles
f507dd067a
mp3on4: allocate temp buffer with av_malloc() instead of on the stack.
...
Avoids allocating unnecessary memory and ensures proper alignment.
2011-10-21 12:29:51 -04:00
Justin Ruggles
cb72230dfa
mp3on4: copy MPADSPContext from first context to all contexts.
...
Fixes segfault when decoding multi-channel MP3onMP4 files.
2011-10-21 12:29:51 -04:00
Justin Ruggles
aad3429d4e
fmtconvert: port float_to_int16_interleave() 2-channel x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
4e8e262476
fmtconvert: port int32_to_float_fmul_scalar() x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
185142a5ea
fmtconvert: check compile-time x86 instruction set flags
2011-10-21 10:13:05 -04:00
Justin Ruggles
708ab7dd69
fmtconvert: port float_to_int16() x86 inline asm to yasm
2011-10-21 10:13:05 -04:00
Justin Ruggles
45add995de
fmtconvert: fix and extend documentation for float_interleave()
2011-10-21 10:13:05 -04:00
Mans Rullgard
b034c95cc1
h264: fix ppc/altivec build
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-21 12:49:01 +01:00
Jean First
b8bb9c0267
Enable multithreding when decoding with libopenjpeg
...
Enable multithreding when decoding with libopenjpeg
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:07:22 -07:00
Ronald S. Bultje
27209bb108
h264: mark some MC functions with av_always_inline instead of inline.
...
This actually causes them to be inlined, leading to a significant
speedup (1-1.5% in my measurements).
2011-10-21 01:05:10 -07:00
Ronald S. Bultje
05fb63f5a0
H264: have hl_motion() and its callees take a chroma_idc argument.
2011-10-21 01:05:07 -07:00
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
2011-10-21 01:00:45 -07:00
Ronald S. Bultje
229d263cc9
Support for lossless and inter H264 4:2:2.
2011-10-21 01:00:45 -07:00
Baptiste Coudurier
76741b0e56
h264: 4:2:2 intra decoding support
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-21 01:00:41 -07:00
Ronald S. Bultje
dc49bf1270
sws/pixfmt/pixdesc: add support for yuv420p9le/be.
2011-10-21 00:58:01 -07:00
Ronald S. Bultje
ce42a04884
vp8: fix up handling of segmentation_maps in reference frames.
...
Associate segmentation_map[] with reference frame, rather than
decoding instance. This fixes cases where the map would be free()'ed
on e.g. a size change in one thread, whereas the other thread was
still accessing it. Also, it fixes cases where threads overwrite data
that is still being referenced by the previous thread, who thinks that
it's part of the frame previously decoded by the next thread.
2011-10-21 00:17:58 -07:00
Anton Khirnov
65d3176aaf
lavc: hide private symbols.
...
Overhead as reported by rbelf-size goes from 90860 to 20204.
2011-10-20 21:06:58 +02:00
Anton Khirnov
586657c20a
lavc: deprecate img_get_alpha_info().
...
It's never been touched or used in any way since it was added in 2003
and only works for PIX_FMT_PAL8, which makes me conclude that nobody's
ever used it.
2011-10-20 21:06:58 +02:00
Anton Khirnov
0842d58998
lavc: use avpriv_ prefix for ff_toupper4.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
9f51c682ee
lavc: use avpriv_ prefix for ff_copy_bits and align_put_bits.
...
They are used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
6f89efeaa7
lavc: use avpriv_ prefix for ff_ac3_parse_header.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
9138a130cd
lavc: use avpriv_ prefix for ff_frame_rate_tab.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
773375c3d0
lavc: rename ff_find_start_code to avpriv_mpv_find_start_code
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
357db4c263
lavc: use avpriv_ prefix for ff_split_xiph_headers.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
2361e59b98
lavc: use avpriv_ prefix for ff_dirac_parse_sequence_header.
...
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
242c73a0fd
lavc: use avpriv_ prefix for some dv symbols used in lavf.
...
Specifically, ff_dv_frame_profile and ff_dv_codec_profile.
2011-10-20 21:06:58 +02:00
Anton Khirnov
d9cca9fc6a
lavc: use avpriv_ prefix for some flac symbols used in lavf.
...
Specifically, ff_flac_parse_streaminfo, ff_flac_is_extradata_valid and
ff_flac_parse_block_header
2011-10-20 21:06:58 +02:00
Anton Khirnov
59a9a23581
lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
...
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Anton Khirnov
82ab61f901
lavc: use avpriv_ prefix for some mpegaudio symbols used in lavf.
...
Specifically, ff_mpa_freq_tab, ff_mpa_bitrate_tab, ff_mpa_decode_header,
ff_mpegaudio_decode_header.
2011-10-20 21:06:57 +02:00
Anton Khirnov
73ae27e17b
lavc: use avpriv_ prefix for ff_aac_parse_header().
...
It's used in lavf.
2011-10-20 21:06:57 +02:00
Justin Ruggles
68d3aec819
avcodec: add CODEC_CAP_DELAY note to avcodec_decode_audio3() documentation
2011-10-20 13:30:08 -04:00
Justin Ruggles
352fc5f128
avcodec: clarify the CODEC_CAP_DELAY note in avcodec_decode_video2()
2011-10-20 13:30:08 -04:00
Justin Ruggles
ffeeae923b
avcodec: clarify documentation of CODEC_CAP_DELAY
2011-10-20 13:30:08 -04:00
Justin Ruggles
1baa25c7da
shorten: fix end-of-stream decoding.
...
enable CODEC_CAP_DELAY to flush any remaining frames in the buffer.
Stop decoding when the FN_QUIT command is found so that a trailing seek table
isn't decoded as a normal frame.
decode all channels in the same call to avcodec_decode_audio3() so that
decoding will not stop after the first channel of the last frame.
Updated FATE reference. More valid audio is now decoded.
2011-10-20 13:09:46 -04:00
Justin Ruggles
d03f9f65c0
shorten: do not use block size to determine whether to read the header.
2011-10-20 13:09:46 -04:00
Justin Ruggles
882dafe9b6
shorten: check output buffer size before decoding
2011-10-20 13:09:26 -04:00
Justin Ruggles
bd7f7d6c78
shorten: use av_clip_int16() for output sample clipping
2011-10-20 13:09:26 -04:00
Justin Ruggles
069ada46c1
shorten: use bytestream functions to decode the embedded WAVE header
2011-10-20 13:09:25 -04:00
Justin Ruggles
c25762fcf1
shorten: add some comments
2011-10-20 13:09:25 -04:00
Justin Ruggles
15d146c958
shorten: merge decoding of FN_DIFF* subblocks into decode_subframe_lpc()
2011-10-20 13:09:25 -04:00
Justin Ruggles
034f42dfce
cosmetics: remove some needless commented-out stuff
2011-10-20 13:09:25 -04:00
Justin Ruggles
cfa317f67d
shorten: validate block size
2011-10-20 13:09:25 -04:00
Justin Ruggles
45d7d31fb9
shorten: move declaration of 'ret' to top of shorten_decode_frame()
2011-10-20 13:09:25 -04:00
Justin Ruggles
a8055992c0
shorten: pass on error value from allocate_buffers() instead of returning -1
2011-10-20 13:09:25 -04:00
Justin Ruggles
9e5e2c2d01
shorten: check for realloc failure
2011-10-20 13:09:25 -04:00
Justin Ruggles
fe31a637f1
shorten: move decoding of prediction order and applying of global offset to
...
decode_subframe_lpc().
2011-10-20 13:09:25 -04:00
Justin Ruggles
0f97c5014b
shorten: only calculate output size when returning decoded samples, otherwise
...
just set data_size to zero.
2011-10-20 13:09:25 -04:00
Justin Ruggles
e9e37f2d10
cosmetics: reindent
2011-10-20 13:09:25 -04:00
Justin Ruggles
9000b6db22
shorten: separate processing of audio commands from non-audio commands
2011-10-20 13:09:25 -04:00
Justin Ruggles
07745485ef
shorten: skip some fields in the WAV header embedded in the shorten header.
...
fixes incorrect bitrate reporting and potential misreporting of the number of
channels.
2011-10-20 13:09:25 -04:00
Justin Ruggles
a1f7885a8b
shorten: split reading of file header into a separate functions
2011-10-20 13:09:25 -04:00
Justin Ruggles
b606a01759
libspeexenc: add libspeex encoder
2011-10-20 13:06:15 -04:00
Diego Biurrun
265980dabc
x86: Move some variable declarations below the appropriat #ifdef.
...
This avoids some unused variable warnings with YASM disabled.
2011-10-20 16:19:27 +02:00
Diego Biurrun
2cb7c81669
x86: Fix linking of ProRes DSP ASM with YASM disabled.
2011-10-20 16:19:13 +02:00
Diego Biurrun
463ea05ab2
avcodec.h: Move G.729/G.723 CODEC_IDs to the correct section.
...
This is done conditional to the libavcodec version to avoid ABI breaks.
2011-10-20 00:19:19 +02:00
Diego Biurrun
26af0953c0
Only test-compile w32pthreads.h if W32THREADS are available.
...
This fixes 'make checkheaders' on non-W32THREADS systems.
2011-10-20 00:18:29 +02:00
Anton Khirnov
f0eeff708a
lavc: make avcodec_get_context_defaults3 "officially" public
...
Deprecate avcodec_get_context_defaults/avcodec_get_context_defaults2
2011-10-19 17:02:11 +02:00
Mashiat Sarker Shakkhar
73447eb4bd
Use correct scaling table for bwd-pred MVs in second B-field
...
When scaling backward predicted MVs in second B-field, the scaling table is
opposite of that for P field pictures; i.e. first field P table will be used as
second field B table and second field P table will be used as first field B
table. This is not documented in the spec, but exists in the ref. decoder.
This fixes SA10139.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-10-19 16:42:47 +03:00
Kostya Shishkov
0d8506b8c5
Ut Video decoder
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 08:24:19 +02:00
Laurent Aimar
d97ca425ef
sunrast: Check for out of bounds reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-18 22:49:43 +02:00
Dustin Brody
6b1f93face
lavc: rename AV_ER_* options to AV_EF_* and rename AGGRESSIVE to BUFFER
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-18 12:28:30 +02:00
Dustin Brody
204e6132d2
lavc: replace API-bump-triggered AVCodecContext field change with shorter, non-conflicting name
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-18 12:28:22 +02:00
Steven Walters
27237d524e
w32threads: support for frame multithreading
...
Replace our incomplete w32threads implementation with x264's pthreads
w32threads wrapper.
Relicensed to LGPL with kind permission by Pegasys Inc.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-16 21:45:16 +02:00
Mans Rullgard
b44522981c
avcodec: remove stray @deprecated comment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-16 16:22:05 +01:00
Mans Rullgard
91038cdbd1
prores: get correct size for coded V plane if alpha is present
...
The size check must be updated to take into account both manners
in which v_data_size might be set.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-15 14:59:44 +01:00
Mans Rullgard
cd14e297e6
prores: do not set pixel format on codec init
...
The pixel format is not known until the frame header is parsed.
Guessing it here only causes trouble for the caller if the guess
turns out to be wrong (and actually causes very wrong output by
avconv/avplay).
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-15 14:59:44 +01:00
Ronald S. Bultje
7b6883898f
pthread: prevent updating AVCodecContext from itself in frame_thread_free
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
feadcd1bdc
pthread: copy coded frame dimensions in update_context_from_thread
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
0f0b5d6434
vp8: prevent read from uninitialized memory in decode_mvs
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
5653579381
vp8: force reallocation in update_thread_context after frame size change
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Ronald S. Bultje
f05c2fb6eb
vp8: fix return value if update_dimensions fails
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-15 00:13:21 +02:00
Justin Ruggles
a62c0f94ee
adpcmdec: calculate actual number of output samples for each decoder.
...
This also allows for removing some of the buf_size checks and using the
sample count for some of the decoding loops.
2011-10-14 15:53:41 -04:00
Justin Ruggles
439998e18b
adpcmdec: check remaining buffer size before decoding next block in the
...
ADPCM IMA WAV decoder.
2011-10-14 15:53:41 -04:00
Justin Ruggles
ff5790c761
adpcmdec: do not terminate early in ADPCM IMA Duck DK3 decoder.
...
There are still 2 nibbles to decode once the last byte in the packet has been
read. Updated FATE reference.
2011-10-14 15:53:41 -04:00
Justin Ruggles
8140a1288f
adpcmdec: remove unneeded buf_size==0 check.
...
This is already done by avcodec_decode_audio3()
2011-10-14 15:53:41 -04:00
Justin Ruggles
f7f7c1942b
adpcmdec: remove unneeded zeroing of *data_size
2011-10-14 15:53:40 -04:00
Mans Rullgard
d341d5fd2c
dnxhdenc: fixed signed multiplication overflow
...
The low 32 bits of a multiplication are the same for signed
and unsigned operands. Casting to unsigned before multiplying
is thus equivalent while avoiding signed overflow, which is
undefined by the C99 standard.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-14 20:45:22 +01:00
Ronald S. Bultje
05c8f119cc
proresdsp: fix function prototypes.
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 21:34:46 +02:00
Ronald S. Bultje
f78cd0c243
prores-idct: fix overflow in c code.
...
Fix the fate ref for prores-422_proxy by reverting the changes to it
in commit f492df0927
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-14 21:34:20 +02:00
Janne Grunau
19ec283f49
prores: add missing feature warning for alpha
2011-10-14 21:07:53 +02:00
Dustin Brody
582f231142
lavc: add a flag-based error_recognition field to AVCodecContext and deprecate non-flag-based ER field
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:21 +02:00
Dustin Brody
ac90a71459
lavc: rename deprecation symbol FF_API_VERY_AGGRESSIVE to FF_API_ER
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-14 09:00:04 +02:00
Justin Ruggles
617a51f9b7
shorten: remove the flush function.
...
The shorten decoder does not support seeking.
2011-10-13 16:31:16 -04:00
Justin Ruggles
c6ac30c84b
truespeech: use sizeof() instead of hardcoded sizes
2011-10-13 16:26:00 -04:00
Justin Ruggles
6d55506c8b
truespeech: remove unneeded variable, 'consumed'
...
increment the 'buf' pointer instead, and consume the whole packet.
2011-10-13 16:26:00 -04:00
Justin Ruggles
b84048935e
truespeech: simplify truespeech_read_frame() by using get_bits()
2011-10-13 16:25:59 -04:00
Justin Ruggles
5e5ce70f19
truespeech: decode directly to output buffer instead of a temp buffer
2011-10-13 16:25:59 -04:00
Justin Ruggles
3e7a176759
truespeech: check to make sure channels == 1
2011-10-13 16:25:59 -04:00
Justin Ruggles
a8f8db2636
truespeech: check for large enough output buffer rather than truncating output
2011-10-13 16:25:59 -04:00
Justin Ruggles
595cf1a1aa
truespeech: remove unneeded zero-size packet check.
...
This is already checked in avcodec_decode_audio3()
2011-10-13 16:25:59 -04:00
Justin Ruggles
82be06bbb3
mlpdec: return meaningful error codes instead of -1
2011-10-13 15:13:02 -04:00
Justin Ruggles
e1b8d88d52
mlpdec: remove unnecessary wrapper function
2011-10-13 15:13:02 -04:00
Justin Ruggles
37b67f1bff
mlpdec: only calculate output size once
2011-10-13 15:13:02 -04:00
Justin Ruggles
caa845851d
mlpdec: validate that the reported channel count matches the actual output
...
channel count
2011-10-13 15:13:02 -04:00
Mans Rullgard
b45eb9d619
pcm: reduce pointer type casting
...
Making 'samples' a pointer to uint8_t simplifies the DECODE
macro and reduces the amount of type casting overall.
This also fixes some signed overflows on left shift.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-13 17:56:13 +01:00
Mans Rullgard
f59bb3d8f3
mathops: remove undefined behaviour from sign_extend()
...
This function intentionally overflows the signed range on
the left shift. Using this type-punning avoids errors from
the overflow checker without disabling this test globally.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-13 15:40:16 +01:00
Kostya Shishkov
42feaf4070
vc1: explicitly zero interlaced mode coding variables for progressive mode
...
Both v->fcm and v->field_mode are used in common code, now they won't be
reset for progressive frame after interlaced one causing writing past the
frame end for example.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-10-13 07:35:07 -07:00
Jean First
47a1d794db
tiffenc: initialize forgotten avctx.
2011-10-12 18:20:18 -04:00
Kostya Shishkov
50f9721904
vc1: more prettyprinting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-12 17:33:58 +02:00
Kostya Shishkov
94e725ca2b
vc1: prettyprint some tables
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-12 17:33:58 +02:00
Kostya Shishkov
b18c68ad25
vc1: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-12 17:33:58 +02:00
Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
2011-10-12 16:51:16 +02:00
Anton Khirnov
641c7afe3c
AVOptions: add new API for enumerating children.
...
This will allow the caller to enumerate child contexts in a generic way
and since the API is recursive, it also allows for deeper nesting (e.g.
AVFormatContext->AVIOContext->URLContext)
This will also allow the new setting/reading API to transparently apply
to children contexts.
2011-10-12 16:51:16 +02:00
Janne Grunau
1bca8f4bc5
rv34: move inverse transform functions to DSP context
2011-10-12 15:52:22 +02:00
Mans Rullgard
318efbfc10
h264: change unsupported bit depth message to error level
...
Unsupported bit depth is certainly an error the user will
want to know about.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-12 12:39:52 +01:00
Mans Rullgard
c682514a8f
qdm2: fix signed multiplication overflow
...
This code relies on the result wrapping as for unsigned
values, and the sign is not used. Thus an unsigned type
is proper here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-12 12:28:08 +01:00
Anton Khirnov
46c3c53bae
libx264: support yuv422/444 output.
2011-10-12 08:27:36 +02:00
John Stebbins
5f3fb59953
fix AC3ENC_OPT_MODE_ON/OFF
...
The values were reversed.
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-11 14:57:58 -04:00
Mans Rullgard
fdba370f8a
h264: fix HRD parameters parsing
...
The bit_rate_value_minus1 and cpb_size_value_minus1 elements
allow a wider range than get_ue_golomb() supports. This
adds a get_ue_golomb_long() function supporting up to 31
leading zeros, which is the maximum for these syntax
elements, and uses it in decode_hrd_parameters().
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 18:24:51 +01:00
Ronald S. Bultje
91f4732913
prores: implement multithreading.
...
60% speedup (overall decoding time) at 2 threads, and another 60%
speedup at 4 threads.
2011-10-11 07:50:49 -07:00
Ronald S. Bultje
e3f530feca
prores: idct sse2/sse4 optimizations.
...
~3.0-3.5x as fast as original C version, 1.6x as fast overall.
2011-10-11 07:50:48 -07:00
Ronald S. Bultje
92fb52d906
prores: extract idct into its own dspcontext and merge with put_pixels.
2011-10-11 07:50:48 -07:00
Mans Rullgard
8babfc033e
h264: fix invalid shifts in init_cavlc_level_tab()
...
The level_code expression includes a shift which is invalid in
those cases where the value is not used. Moving the calculation
to the branch where the result is used avoids these.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 15:00:56 +01:00
Diego Biurrun
4b7f49082f
flashsv: return more meaningful error value
2011-10-11 14:28:23 +02:00
Diego Biurrun
f9a9c8f9bc
flashsv: fix typo in av_log() message
2011-10-11 14:28:23 +02:00
Justin Ruggles
ff1f89de2d
smacker: validate channels and sample format.
2011-10-11 07:48:16 -04:00
Justin Ruggles
cf044f8bff
smacker: check buffer size before reading output size
2011-10-11 07:48:16 -04:00
Justin Ruggles
e190e453bd
smacker: validate number of channels
2011-10-11 07:48:16 -04:00
Mans Rullgard
be1242a3f2
h264: fix detection of optional trailing PPS elements
...
The PPS may contain a few trailing elements whose presence is
only signalled by data remaining after the the mandatory part
has been parsed. The current code fails to take into account
the rbsp_trailing_bits() when deciding whether to parse these
optional elements. Assuming no unnecessary padding bytes are
passed to this function, the optional elements are present if
either more than 8 extra bits remain or the remaining bits do
not form a valid rbsp_trailing_bits() after the mandatory PPS
elements have been parsed.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 12:05:51 +01:00
Mans Rullgard
c79d2a20ba
sipr: fix get_bits(0) calls
...
Zero-length get_bits() is undefined, must check before calling.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 12:05:51 +01:00
Mans Rullgard
cb668476ab
motion_est: make MotionExtContext.map_generation unsigned
...
The way this value is used, it should be an unsigned type.
While the numerical value has no meaning, unsigned wraparound
is relied upon.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-11 12:05:50 +01:00
Laurent Aimar
4c7a232fc8
h264: reset h->ref_count in case of errors in ff_h264_decode_ref_pic_list_reordering()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
e8ac80fb2c
error_resilience: fix the check for missing references in ff_er_frame_end() for H264
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
1b1182ce97
4xm: prevent NULL dereference with invalid huffman table
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:36 +02:00
Laurent Aimar
8d518a9c4f
4xm: clear FF_INPUT_BUFFER_PADDING_SIZE bytes in temporary buffers
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:35 +02:00
Laurent Aimar
dc64f203a6
ptx: check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:37:15 +02:00
Laurent Aimar
04a845caa7
tiffdec: fix out of bound reads/writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:13 +02:00
Laurent Aimar
46cb2f6a29
eacmv: check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:13 +02:00
Laurent Aimar
8df8a87e3f
eacmv: fix potential pointer arithmetic overflows
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Laurent Aimar
c7f89064e2
adpcm: fix out of bound reads due to integer overflow
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Laurent Aimar
2475f1a83c
anm: prevent infinite loop
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Laurent Aimar
de049a95f4
avs: check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-10 21:36:12 +02:00
Baptiste Coudurier
11a32d53ca
dnxhddec: handle cid change in bitstream.
2011-10-10 09:40:26 -07:00
Kostya Shishkov
109d8aa1e6
vc1: K&R reformatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-10 18:35:35 +02:00
Justin Ruggles
8f8f5ae991
ra288: log an error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1.
2011-10-10 11:38:58 -04:00
Justin Ruggles
fa6be04bf7
ra288: use a more descriptive calculation for output data size
2011-10-10 11:38:58 -04:00
Justin Ruggles
f10524d51c
ra144: use macro constants to make the code more understandable.
2011-10-10 11:38:58 -04:00
Justin Ruggles
cadd4d332a
ra144dec: log an error message when output buffer is too small.
...
also return AVERROR(EINVAL) instead of -1.
2011-10-10 11:38:58 -04:00
Justin Ruggles
80bdf7e0b7
ra144dec: use a more descriptive calculation for output data size
2011-10-10 11:38:57 -04:00
Mashiat Sarker Shakkhar
51757ac789
lavc: Micro version bump for VC1 interlaced decoding support
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Mashiat Sarker Shakkhar
cad16562c8
vc1dec: interlaced stream decoding support 3/3
...
Cosmetics: break some lines and reformat TODOs
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Mashiat Sarker Shakkhar
f0c02e1cbc
vc1dec: interlaced stream decoding support 2/3
...
Cosmetics: reformat some data tables in vc1data.c
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Mashiat Sarker Shakkhar
d5b015e42d
vc1dec: interlaced stream decoding support 1/3
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-10 15:26:37 +02:00
Gwenole Beauchesne
53efb758c0
vaapi: Fix VC-1 decoding (reconstruct bitstream TTFRM correctly).
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-10-10 14:11:02 +02:00
Mans Rullgard
581810f502
mpeg4dec: use unsigned type for startcode in ff_mpeg4_decode_picture_header
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:28:54 +01:00
Mans Rullgard
aa498fef0d
mpeg124: use sign_extend() function
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:22:14 +01:00
Mans Rullgard
633ddb8519
ac3dec: use get_sbits() instead of manually sign-extending
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:21:31 +01:00
Mans Rullgard
84dda40762
4xm: fix signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:13:35 +01:00
Mans Rullgard
ba3f07d061
wmavoice: fix a signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:04:03 +01:00
Mans Rullgard
05795f35be
mpegvideo_enc: fix a signed overflow
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 23:03:46 +01:00
Mans Rullgard
282847ba80
zmbv: remove memcpy() of decoded frame
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 13:58:19 +01:00
Mans Rullgard
2f329db90e
mpeg12enc: use sign_extend() function
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 13:58:17 +01:00
Mans Rullgard
60f10e0ad3
h264pred: use unsigned types for pixel values, fix signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Mans Rullgard
4d1418cd4f
h264: fix signed overflows in x*0x01010101 expressions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Mans Rullgard
d66b9dec11
h264pred: remove unused variables
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 12:27:19 +01:00
Mans Rullgard
bb59156606
vp8: fix signed overflows
...
In addition to avoiding undefined behaviour, an unsigned type
makes more sense for packing multiple 8-bit values.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
e708afd3c0
motion_est: fix some signed overflows
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
559c244d42
dca: fix signed overflow in shift
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Mans Rullgard
d12294304a
aacdec: fix undefined shifts
...
Since nnz can be zero, this is needed to avoid a shift by 32.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 20:03:55 +01:00
Laurent Aimar
a00676e48e
bink: Check for various out of bound writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-08 16:32:01 +02:00
Laurent Aimar
24adf7832b
bink: Check for out of bound writes when building tree
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-08 16:25:56 +02:00
Mans Rullgard
ac6eab1496
put_bits: fix invalid shift by 32 in flush_put_bits()
...
If flush_put_bits() is called when the 32-bit buffer is empty,
e.g. after writing a multiple of 32 bits, and invalid shift by
32 is performed. Since flush_put_bits() is called infrequently,
this additional check should have negligible performance impact.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-08 02:41:58 +01:00
Laurent Aimar
9bd854b1ff
mpc8: Check out of bound bands limit
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 17:15:45 +02:00
Laurent Aimar
7d17a794f0
xan: Prevent NULL dereference with missing palette
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 17:15:31 +02:00
Laurent Aimar
3db3fdf4c6
xan: Check for out of bound reads in xan_huffman_decode()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:32 +02:00
Laurent Aimar
3e0757c2a8
xan: Fixed out of bound accesses in xan_unpack()
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:32 +02:00
Laurent Aimar
1cd0a55163
motionpixels: Prevent calling init_vlc() with invalid parameters
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:32 +02:00
Laurent Aimar
5f05cf4ea9
shorten: Fix out of bound writes in fix_bitshift()
...
The data pointers s->decoded[*] already take into account s->nwrap.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
1720603287
dsicinav: Check for out of bounds writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
64263dd526
tiertexseqv: Check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
4fd56f842c
quickdraw: Check for out of bound reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
e3ca9b93d9
dsicinav: Check for out of bounds reads
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
210c80331e
motionpixels: Fix the size of workspace buffers
...
Some buffers must be mod 4 in width and/or height.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
d337dd3a90
motionpixels: Clear FF_INPUT_BUFFER_PADDING_SIZE bytes at the end of the temporary buffer
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
d99427cb8b
wmavoice: Check for corrupted extra data
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
1c1449b548
wmavoice: Check for out of bound writes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
06be075cda
xan: Prevent NULL dereferences with missing reference frame
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
c7e631986b
bink: Prevent NULL dereferences with missing reference frame
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
2c6cf13940
wavpack: Reset internal state on corrupted blocks
...
wavpack_decode_block() supposes that it is called back with the exact
same buffer unless it has returned with an error. With multi-channels
files, wavpack_decode_frame() was breaking this assumption.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:31 +02:00
Laurent Aimar
2c1ba79941
wmapro: Validate the number of audio channels before using it
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Laurent Aimar
95010d18b2
shorten: Prevent block size from increasing
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Laurent Aimar
124a16f678
xan: Prevent out of bound accesses
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 16:25:30 +02:00
Michael Niedermayer
14c21c1ff5
H264: Only wait before triggering ff_thread_setup_complete() until the next slice that contains a start-of-field/frame macroblock
...
This allows concurrent decoding of the last field/frame, rather than
only the last slice, of data packets with multiple NAL units packed
together.
This will fix the slowdown reported in e.g. bug 52.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-07 14:23:26 +02:00
Laurent Aimar
a72cad0a6c
vp6: Reset the internal state when aborting key frames header parsing
...
It prevents leaving the state only half initialized.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:37:32 +02:00
Laurent Aimar
3d09d0017d
vp56: Release old pictures after a resolution changes
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:27:24 +02:00
Laurent Aimar
066fff755a
vp6: Check for huffman tree build errors
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:27:03 +02:00
Laurent Aimar
0ec6d6e9b6
vp56: Check for missing reference frame data
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-07 00:25:43 +02:00
Laurent Aimar
d239d4b447
cinepak: Fix invalid read access on extra data
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 23:35:29 +02:00
Laurent Aimar
c0cbe36b18
vmd: fix segfaults on corruped streams
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 23:33:09 +02:00
Laurent Aimar
3a742470a8
cook: Fix js_vlc_bits value validation for joint stereo
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 23:31:06 +02:00
Laurent Aimar
69a0bce753
Fixed deference of NULL pointer in motionpixels decoder.
...
Some of the arguments given to init_vlc() come from the stream
and can be corrupted.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-10-06 22:29:12 +02:00
Anton Khirnov
d97efd7f87
libx264: support 9- and 10-bit output.
2011-10-06 09:16:06 +02:00
Ronald S. Bultje
4418aa9cb3
h264: correct implicit_weight for field-interlaced pictures.
2011-10-05 04:01:23 -07:00
Ronald S. Bultje
330deb7592
mpegvideo: set correct offset for edge emulation buffer.
...
Using the old code, half of it was unused and the other half was too
small for e.g. >8bpp interlaced data, causing random buffer overruns.
2011-10-05 04:01:23 -07:00
Ronald S. Bultje
0884dd5a1b
mpegvideo: fix position of bottom edge.
...
It was wrong in colorspaces where horizontal and vertical chroma
subsampling are not the same, e.g. 422.
2011-10-05 04:01:23 -07:00
Diego Biurrun
e83c2ddebf
Fix 'heigth' vs. 'height' typos.
2011-10-05 11:12:01 +02:00
Anton Khirnov
a4ea00d021
lavc/lavf: use unique private classes.
...
This is needed by the new AVOptions API.
2011-10-05 07:52:30 +02:00
Anton Khirnov
0ba1e1978d
lavc: use designated initializers for av_codec_context_class
2011-10-05 07:52:05 +02:00
Justin Ruggles
dd376b1a12
qcelpdec: cosmetics: do not add line break before opening bracket in 'for',
...
'while', 'if/else', and 'switch' statements.
also fixes some spacing, but only if already changing a line
2011-10-04 17:10:11 -04:00
Justin Ruggles
e43dd3d2a8
qcelp: check output buffer size before decoding
2011-10-04 17:10:11 -04:00
Chris Rankin
bde2570013
qcelpdec: fix the return value of qcelp_decode_frame().
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-04 17:09:53 -04:00
Justin Ruggles
1b5a189f06
sipr: fix the output data size check and only calculate it once.
2011-10-04 16:13:20 -04:00
Diego Biurrun
12bd8532cf
Synchronize various 4CCs and codec tags from FFmpeg.
2011-10-04 11:58:53 +02:00
Justin Ruggles
7d49f79f1c
qdm2: check output buffer size before decoding
2011-10-03 21:34:19 -04:00
Laurent Aimar
5a19acb17c
Fix out of bound reads in the QDM2 decoder.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-03 21:34:19 -04:00
Laurent Aimar
291d74a46d
Check for out of bound writes in the QDM2 decoder.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2011-10-03 21:34:19 -04:00
Anton Khirnov
24ec9ac475
libvpx: fix build with older libvpx versions.
...
VPX_ERROR_RESILIENT_DEFAULT and VPX_ERROR_RESILIENT_PARTITIONS weren't
defined before 4cb0ebe5b27d35ccc2a78c1d16f2622ddef21f74 (CommitDate: Tue
Jun 28 11:10:17 2011)
2011-10-03 13:06:24 +02:00
Mans Rullgard
6308729e68
ARM: check for inline asm 'y' operand modifier support
...
The inline asm added in bf5d46d
uses the 'y' modifier which
is only supported from gcc 4.5. This check allows building
with older compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-03 08:56:24 +01:00
Justin Ruggles
5674d4b0a3
mpc8: check output buffer size before decoding
2011-10-02 10:34:39 -04:00
Justin Ruggles
8290d1f38b
mpc7: return error if packet is too small.
2011-10-02 10:34:39 -04:00
Justin Ruggles
c8b5c4d274
mpc7: check output buffer size before decoding
2011-10-02 10:34:39 -04:00
Justin Ruggles
fac6b7f9f2
nellymoserdec: allocate float_buf only when decoding to int16
2011-10-02 10:19:04 -04:00
Justin Ruggles
32b484464c
nellymoserdec: use NELLY_BUF_LEN instead of 128
2011-10-02 10:19:04 -04:00
Justin Ruggles
ded0800d44
nellymoserdec: use NELLY_BLOCK_LEN instead of 64 when appropriate.
2011-10-02 10:19:04 -04:00
Justin Ruggles
84464b2e7f
nellymoserdec: allow user to request SAMPLE_FMT_FLT for output samples.
2011-10-02 10:19:04 -04:00
Justin Ruggles
8b31c086b6
nellymoser: check output buffer size before decoding
2011-10-02 10:19:04 -04:00
Luca Barbato
0e5cc174bb
win32: improve threading algorithm warning
...
If no threading is requested do not issue warning about unsupported
threading algorithm.
2011-10-02 08:58:08 +02:00
Anton Khirnov
b036a7180c
lavc: add video/audio/encoding flags to global_quality option
2011-10-01 07:16:56 +02:00
Luca Barbato
6450f26c9a
libvpxenc: use libvpx's own defaults for some parameters
...
Specifically, qmin/qmax, gop_size and keyint_min.
Fixes bug 47.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-01 07:16:56 +02:00
Luca Barbato
e3eb015ba4
vpxenc: add private options
...
Make libvpx support close to the libx264 one. Thanks to
Jan Gerber <j@v2v.cc> for the support.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-01 07:16:56 +02:00
Justin Ruggles
08bd22a61b
dpcm: return error if packet is too small
2011-09-30 18:15:53 -04:00
Justin Ruggles
0354fb7ebe
dpcm: use smaller data types for static tables
2011-09-30 18:15:53 -04:00
Justin Ruggles
5a54d51017
dpcm: use sol_table_16 directly instead of through the DPCMContext.
2011-09-30 18:15:53 -04:00
Justin Ruggles
f47f7efd14
dpcm: replace short with int16_t
2011-09-30 18:15:53 -04:00
Justin Ruggles
8d77d12a2b
dpcm: check to make sure channels is 1 or 2.
2011-09-30 18:15:53 -04:00
Justin Ruggles
4bad464e7f
dpcm: misc pretty-printing
2011-09-30 18:15:53 -04:00
Justin Ruggles
1de8401c56
dpcm: remove unnecessary variable by using bytestream functions.
...
Uses 'buf' directly instead of a separate iterator variable 'in'.
2011-09-30 18:15:53 -04:00
Justin Ruggles
fc6faee0d1
dpcm: move codec-specific variable declarations to their corresponding decoding blocks.
2011-09-30 18:15:53 -04:00
Justin Ruggles
989bb7bd04
dpcm: consistently use the variable name 'n' for the next input byte.
2011-09-30 18:15:52 -04:00
Justin Ruggles
04b24cf94b
dpcm: output AV_SAMPLE_FMT_U8 for Sol DPCM subcodecs 1 and 2.
...
Uses the native sample format for the codec instead of left-shifting all
samples by 8.
2011-09-30 18:15:52 -04:00
Justin Ruggles
76db17dc7d
dpcm: calculate and check actual output data size prior to decoding.
2011-09-30 18:15:52 -04:00
Justin Ruggles
3db8db406f
dpcm: factor out the stereo flag calculation
2011-09-30 18:15:52 -04:00
Justin Ruggles
b09c7eefb7
dpcm: cosmetics: rename channel_number to ch
...
Make the code easier to read.
2011-09-30 18:15:52 -04:00
Carl Eugen Hoyos
bcb1555489
dxva2_h264: pass the correct 8x8 scaling lists
...
Copy the Inter 8x8 scaling list as second 8x8 matrix into DXVA2's
quantization matrix data structure instead of a potentially unset
Intra chroma scaling matrix.
Fix dxva2 decoding for some H264 samples.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-30 20:15:17 +02:00
Mans Rullgard
bf5d46d8e6
dca: NEON optimised high freq VQ decoding
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-30 19:01:23 +01:00
Justin Ruggles
6326afd5e9
avcodec: reject audio packets with NULL data and non-zero size
...
There is no valid reason the user should ever send such packets in the
first place, but the documentation for CODEC_CAP_DELAY states that the
codec is guaranteed not to get a NULL packet unless that capability is
set. That isn't true without preventing this case.
2011-09-30 11:02:50 -04:00
Joakim Plate
dcce09d64b
dxva: Add ability to enable workaround for older ATI cards
...
The workaround needs to be enabled per PCI ID which cannot be detected inside
libavcodec. So add a flag to manually enable the alternate behavior.
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-30 11:17:53 +02:00
Justin Ruggles
e562fbd003
adpcm: move codec-specific variable declarations to the sections for the corresponding codecs.
2011-09-29 16:54:01 -04:00
Justin Ruggles
9662539c10
adpcm: check buffer size in Funcom ISS decoder before reading header.
...
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
ba5d2890d7
adpcm: simplify reading of Funcom ISS frame header.
2011-09-29 16:54:01 -04:00
Justin Ruggles
5c9eb4fabb
adpcm: check buffer size in IMA DK4 decoder before reading header.
...
Also use the post-header data size to control termination of the main
decoding loop.
2011-09-29 16:54:01 -04:00
Justin Ruggles
a57ea1a87e
adpcm: simplify reading of IMA DK4 frame header.
2011-09-29 16:54:01 -04:00
Justin Ruggles
8114f94ac9
adpcm_ms: clean up reading of predictor coefficients
2011-09-29 16:54:01 -04:00
Justin Ruggles
943f4db552
adpcm_4xm: process planar packets sequentially rather than simultaneously.
...
Also properly clip the right channel step_index.
2011-09-29 16:54:00 -04:00
Justin Ruggles
119974b164
adpcm_ima_wav: process channel-interleaved blocks sequentially rather than simultaneously.
...
Speeds up the ADPCM IMA WAV decoder by 15-20% overall.
2011-09-29 16:54:00 -04:00
Justin Ruggles
7c287b18a0
adpcm: update reference links
...
Add Multimedia Wiki link.
Mark dead links with [dead]. Some can still be accessed through archive.org.
Update URLs for pages which have moved.
Replace duplicated links in adpcmenc.c with a note to see the ADPCM decoder
reference documents.
2011-09-29 16:54:00 -04:00
Justin Ruggles
ac94b8bcc6
adpcm: simplify packet size bounds checking in the ADPCM IMA QT decoder.
...
This is easier to understand. It also avoids returning existing samples mixed
with new samples when the packet is too small.
2011-09-29 16:54:00 -04:00
Justin Ruggles
de0b586a87
adpcm: simplify and speed up several ADPCM decoders.
2011-09-29 16:54:00 -04:00
Justin Ruggles
5a9ed7c110
adpcm: pretty-print tables
2011-09-29 16:54:00 -04:00
Alex Converse
fcbe421cee
prores: Handle 0 or fewer bits left
...
show_bits() is undefined when the number of bits is less than or equal to
zero.
2011-09-29 09:45:57 -07:00
Mans Rullgard
bf00a73ace
dca: clear inactive subbands only once in qmf_32_subbands()
...
Writing zeros to the high entries in the array need only be
done once as the cutoff position is constant throughout the
loop.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-29 12:34:17 +01:00
Mans Rullgard
baf6b738f2
ARM: NEON optimised vector_fmac_scalar()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:09 +01:00
Mans Rullgard
a92a1b93b4
dca: use vector_fmac_scalar from dsputil
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:09 +01:00
Mans Rullgard
fcca826a63
dsputil: add vector_fmac_scalar()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-28 15:56:08 +01:00
Justin Ruggles
3d371f417e
ws_snd: misc cosmetic clean-ups
2011-09-26 16:23:58 -04:00
Justin Ruggles
659c719bc7
ws_snd: remove the 2-bit ADPCM table and just subtract 2 instead.
2011-09-26 16:23:15 -04:00
Justin Ruggles
618b067d21
ws_snd: use memcpy() and memset() instead of loops
2011-09-26 16:23:14 -04:00
Justin Ruggles
6896aa7a38
ws_snd: use samples pointer for loop termination instead of a separate
...
iterator variable.
2011-09-26 16:23:14 -04:00
Justin Ruggles
6a818cb3ff
ws_snd: make sure number of channels is 1
2011-09-26 16:23:10 -04:00
Justin Ruggles
417364ce1f
ws_snd: add some checks to prevent buffer overread or overwrite.
2011-09-26 15:49:50 -04:00
Justin Ruggles
2322ced8da
ws_snd: decode to AV_SAMPLE_FMT_U8 instead of S16.
...
8-bit unsigned is the native sample format.
2011-09-26 15:49:50 -04:00
Justin Ruggles
4c5e7b27d5
flacdec: fix buffer size checking in get_metadata_size()
...
Adds an additional check before reading the next block header and avoids a
potential integer overflow when checking the metadata size against the
remaining buffer size.
2011-09-26 15:29:45 -04:00
Nicolas George
4ca59d1948
oggdec: add support for Xiph's CELT codec
...
This patch also introduces CODEC_ID_CELT.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-09-26 13:51:29 +02:00
Justin Ruggles
88f908fbdc
cosmetics: reindent and pretty-print
2011-09-25 14:38:08 -04:00
Justin Ruggles
8febd6afbc
libgsm: split init and close fuctions for encoder and decoder.
...
The decoder shouldn't be allocating coded_frame. It's also cleaner to split
them than to check avctx->codec->encode and avctx->codec->decode.
2011-09-25 14:38:08 -04:00
Mans Rullgard
6e4a35ced9
ppc: fix 32-bit PIC build
...
On 32-bit ppc, the GOT pointer must be loaded manually.
This adds a "get_got" assembler macro to compute the
GOT address. The "movrel" macro is updated to take an
additional parameter containing the GOT address since
no register is reserved for this purpose on ppc32.
These changes have no effect on ppc64 builds.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-25 17:27:48 +01:00
Justin Ruggles
4568c2bf97
vmdaudio: fix decoding of 16-bit audio format.
...
The initial sample of each block is raw 16-bit PCM, not DPCM.
Fixes decoding of all samples in:
http://streams.videolan.org/samples/game-formats/sierra-vmd/Lighthouse/
2011-09-25 10:39:00 -04:00
Laurent Aimar
d1186ff72d
h264: check for out of bounds reads in ff_h264_decode_extradata().
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-25 15:04:58 +02:00
Diego Biurrun
8671488799
Use explicit struct initializers for AVCodec declarations.
2011-09-24 12:11:19 +02:00
Justin Ruggles
9ff6d0791b
adpcmenc: Set bits_per_coded_sample
2011-09-23 20:54:29 -04:00
Baptiste Coudurier
b304244b54
adpcmenc: fix QT IMA ADPCM encoder
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:29 -04:00
Baptiste Coudurier
bf334535b4
adpcmdec: Fix QT IMA ADPCM decoder
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:28 -04:00
Peter Ross
3a549eb82b
permit decoding of multichannel ADPCM_EA_XAS
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-09-23 20:54:28 -04:00
Reimar Döffinger
ffe92ff9f0
Fix input buffer size check in adpcm_ea decoder.
...
Unfortunately the output buffer size check assumes that the
input buffer is never over-consumed, thus this actually
also allowed to write outside the output buffer if "lucky".
Based on:
git.videolan.org/ffmpeg.git
commit 701d0eb185
2011-09-23 20:54:28 -04:00
Sean McGovern
c2d3f56107
fft: avoid a signed overflow
...
As a signed integer, 1<<31 overflows, so force it to unsigned.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-23 17:02:58 -07:00
Luca Barbato
d554b33efe
ratecontrol: update last_qscale_for sooner
...
In order to make ratecontrol converge properly update the
last_qscale_for values when populating the qscale array.
It fixes the issue reported on
http://lists.libav.org/pipermail/libav-tools/2011-September/000050.html
2011-09-22 17:25:48 -07:00
Diego Biurrun
167d3b1673
prores: return more meaningful error values
2011-09-23 01:42:13 +02:00
Diego Biurrun
2161282439
prores: improve error message wording
2011-09-23 01:42:12 +02:00
Diego Biurrun
27ba121e90
prores: cosmetics: prettyprinting, drop useless parentheses
2011-09-23 01:42:12 +02:00
Diego Biurrun
2983f1f3be
prores: lowercase AVCodec name entry
...
All other codecs use lowercase names in that field.
2011-09-23 01:42:11 +02:00
Justin Ruggles
1993c6849c
8svx/iff: fix decoding of compressed stereo 8svx files.
...
Make the iff demuxer send the whole audio chunk to the decoder as a
single packet and move stereo interleaving from the iff demuxer to the
decoder.
Based on a patch by Stefano Sabatini.
git.videolan.org/ffmpeg.git
commit e280a4da2a
2011-09-22 14:11:34 -04:00
Justin Ruggles
fda459cee7
8svx: log an error message if output buffer is too small
...
Based on a patch by Stefano Sabatini.
git.videolan.org/ffmpeg.git
commit e280a4da2a
2011-09-22 14:11:34 -04:00
Justin Ruggles
0ac3b8fc4a
8svx: check packet size before reading the initial sample value.
2011-09-22 14:11:34 -04:00
Justin Ruggles
e371878416
8svx: output 8-bit samples instead of 16-bit.
...
Based on a patch by Stefano Sabatini.
git.videolan.org/ffmpeg.git
commit e280a4da2a
2011-09-22 14:11:34 -04:00
Justin Ruggles
ac68607bfe
8svx: split delta decoding into a separate function.
...
Based on a patch by Stefano Sabatini.
git.videolan.org/ffmpeg.git
commit e280a4da2a
2011-09-22 14:11:34 -04:00
Maxim Poliakovski
be64629a13
Apple ProRes decoder
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-22 14:54:46 +03:00
Laurent Aimar
fe476e5a9b
rv34: Check for invalid slices offsets
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-22 10:35:06 +03:00
Mans Rullgard
ae2e89717b
dct-test: factor out some common code and do whas was likely intended
...
This fixes some nonsensical code by moving some should-be-shared
code to separate functions and using these.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-09-21 15:43:59 +01:00
Anton Khirnov
609a2fa1fa
Remove some forgotten AVCodecContext.palctrl usage.
2011-09-21 13:51:53 +02:00
Anton Khirnov
9ecfbb3e57
lavc/utils: move avcodec_init() higher in the file.
...
Fixes build on next major bump.
2011-09-21 13:51:53 +02:00
Anton Khirnov
e5b29c1f6b
lavc: replace some deprecated FF_*_TYPE with AV_PICTURE_TYPE_*
2011-09-21 13:51:53 +02:00
Anton Khirnov
feedc0754b
ac3dec: actually use drc_scale private option
2011-09-21 13:51:53 +02:00
Anton Khirnov
63e4c8a653
lavc: undeprecate AVPALETTE_SIZE and AVPALETTE_COUNT macros
...
They are still being used and shouldn't be removed.
2011-09-21 13:51:53 +02:00
Diego Biurrun
a3e0135dbb
msmpeg4: remove leftover unused debug variable declaration
2011-09-21 09:57:33 +02:00
Diego Biurrun
95a06eb4d5
Fix assert() calls that need updates after FF_COMMON_FRAME macro elimination.
...
This fixes build failures with -DDEBUG in CPPFLAGS.
2011-09-21 09:57:32 +02:00
Diego Biurrun
35a6855868
Fix av_dlog invocations with wrong or missing logging context.
...
This fixes build failures with -DDEBUG in CPPFLAGS.
2011-09-21 09:57:32 +02:00
Laurent Aimar
4cc7732386
rv34: Check for invalid slice offsets
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-20 10:29:55 +03:00
Laurent Aimar
b4ed3d78cb
rv34: Fix potential overreads
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19 15:44:22 +03:00
Laurent Aimar
d2213b6493
rv34: Fix buffer size used for MC of B frames after a resolution change
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19 15:44:22 +03:00
Laurent Aimar
d0f6ab0298
rv34: Avoid NULL dereference on corrupted bitstream
...
rv34_decode_slice() can return without allocating any pictures.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19 15:44:22 +03:00
Laurent Aimar
4a29b47186
rv10: Reject slices that does not have the same type as the first one
...
This prevents crashes with some corrupted bitstreams.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-19 14:58:33 +03:00
Luca Barbato
3a78fb57de
libx264: introduce slice-max-size option
...
Yet another option useful for low latency streaming.
2011-09-16 07:56:17 -07:00
Laurent Aimar
b59efc9434
Fixed size given to init_get_bits().
...
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-15 13:23:04 -07:00
Michael Niedermayer
5166376f24
smacker: fix a few off by 1 errors
...
stereo & 16bit is untested due to lack of samples
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-14 11:13:54 +03:00
Laurent Aimar
6489455495
Check for invalid VLC value in smacker decoder.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-14 10:40:31 +03:00
Laurent Aimar
9676ffba83
Check and propagate errors when VLC trees cannot be built in smacker decoder.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-14 10:38:49 +03:00
Justin Ruggles
3ed7860943
include stdint.h in adpcm_data.h
...
fixes make checkheaders
2011-09-13 10:59:47 -04:00
Diego Biurrun
a05ea77c9f
mpeg12: reorder functions to avoid ugly forward declarations
2011-09-13 15:53:05 +02:00
Alex Converse
0872bb23b4
xan: Add some buffer checks
2011-09-12 11:18:57 -07:00
Alex Converse
350f57bd7b
xan: Remove extra trailing newline
2011-09-12 11:18:57 -07:00
Laurent Aimar
393d5031c6
Fixed size given to init_get_bits() in xan decoder.
2011-09-12 11:18:57 -07:00
Justin Ruggles
826c56d16e
adpcm: split ADPCM encoders and decoders into separate files.
...
Move shared tables to a separate file as well.
2011-09-12 11:26:11 -04:00
Kostya Shishkov
23a1f0c592
rv34: check that subsequent slices have the same type as first one.
...
This prevents some crashes when corrupted bitstream reports e.g. P-type
slice in I-frame. Official RealVideo decoder demands all slices to be
of the same type too.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-12 15:51:30 +02:00
Anton Khirnov
af1e247038
libxavs: add private options corresponding to deprecated global options
...
Code mostly copied from libx264 wrapper.
2011-09-12 08:45:55 +02:00
Anton Khirnov
d242d80e36
avconv: remove me_threshold option.
...
It's only shadowing the AVOption with the same name.
2011-09-11 17:30:04 +02:00
Laurent Aimar
8bfea4ab4e
Fixed segfault with wavpack decoder on corrupted decorrelation terms sub-blocks.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-10 18:58:57 +03:00
Alex Converse
0c1f5b93d9
cljr: init_get_bits size in bits instead of bytes
2011-09-09 15:01:00 -07:00
Alex Converse
b7ce4f1d1c
indeo2: fail if input buffer too small
2011-09-09 15:01:00 -07:00
Alex Converse
68ca330cbd
indeo2: init_get_bits size in bits instead of bytes
2011-09-09 15:01:00 -07:00
Laurent Aimar
46b004959b
ffv1: Fixed size given to init_get_bits() in decoder.
...
init_get_bits() takes a number of bits and not a number of bytes as
its size argument.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-09-09 15:00:28 -07:00
Alex Converse
dba2b63a98
wavpack: Check error codes rather than working around error conditions.
2011-09-08 11:02:43 -07:00
Laurent Aimar
55354b7de2
Fixed invalid access in wavpack decoder on corrupted bitstream.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-08 12:04:06 +03:00
Laurent Aimar
0aedab0340
Fixed invalid writes in wavpack decoder on corrupted bitstreams.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-08 12:00:13 +03:00
Laurent Aimar
beefafda63
Fixed invalid access in wavpack decoder on corrupted extra bits sub-blocks.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-08 11:57:13 +03:00
Kieran Kunhya
0ca36b4de7
Add LATM muxer
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2011-09-07 12:57:55 +02:00
Baptiste Coudurier
635bbecfc3
v210enc: clip values according to specifications
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-07 12:50:11 +02:00
Baptiste Coudurier
d239b83e2e
v210enc: switch to PIX_FMT_422P10
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-07 12:16:21 +02:00
Baptiste Coudurier
08fa23d6c2
v210dec: switch to PIX_FMT_422P10
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-07 12:16:15 +02:00
Anton Khirnov
79eff91325
AVOptions: deprecate av_opt_set_defaults2
...
It's a hack which was created to allow for multiple options with
different defaults to refer to same field (e.g. 'b' vs 'ab'). There is
no need for it anymore.
2011-09-07 11:19:43 +02:00
Anton Khirnov
0962f23b35
libx264: fix setting some more parameters
...
Specifically, trellis, nr, me_range, me_method, subq, b_strategy,
keyint_min, chroma_me and coder.
Change their defaults to -1 and apply them after
x264_param_default_preset() if the user explicitly set them.
2011-09-07 10:36:15 +02:00
Andrej Peterka
2bb5d637fc
libx264: fix setting the H.264 level
...
Move setting it after x264_param_default_preset()
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-07 09:16:06 +02:00
Anton Khirnov
9c684feadc
libx264: add 'direct-pred' private option
...
Deprecate AVCodecContext.directpred
2011-09-07 07:27:55 +02:00
Anton Khirnov
0635a8aa21
libx264: add 'partitions' private option
...
Deprecate AVCodecContext.partitions.
2011-09-07 07:27:18 +02:00
Anton Khirnov
7042337673
libx264: add 'cplxblur' private option
...
Deprecate AVCodecContext.complexityblur
2011-09-06 21:03:41 +02:00
Anton Khirnov
71b5f4427b
libx264: add 'deblock' private option
...
Deprecate AVCodecContext.deblockalpha/deblockbeta
2011-09-06 21:02:45 +02:00
Anton Khirnov
f83c45183e
libx264: add 'b-bias' private option
...
Deprecate AVCodecContext.bframebias.
2011-09-06 20:14:35 +02:00
Anton Khirnov
bb73cda2f6
libx264: fix setting some options.
...
Specifically: gop_size, max_b_frames, scenechange_threshold, qmin, qmax,
max_qdiff, qblur, qcompress and refs.
Change their default values to -1 and only use them if the user
explicitly set them. Otherwise x264 defaults are used.
Move setting those options after x264_param_default_preset(), so they
don't get overwritten by it.
2011-09-06 20:13:28 +02:00
Anton Khirnov
d8dee0e7bd
libx264: remove useless assignment
...
priv_data is memset to 0.
2011-09-06 20:13:11 +02:00
Reimar Döffinger
459fe331e9
ac3dec: avoid pointless alloc and indirection for input_buffer
...
Since we now always allocate it, it can simply be made part of the context
instead.
2011-09-06 12:43:16 -04:00
Diego Biurrun
6192b6f3e7
mpeg12: cosmetics: reformat as K&R
2011-09-06 11:46:57 +02:00
Justin Ruggles
ae264bb29b
ac3enc: Add channel coupling support for the fixed-point AC-3 encoder.
...
Update FATE references accordingly.
2011-09-05 10:09:44 -04:00
Justin Ruggles
a0d17b6d45
ac3enc: scale floating-point coupling channel coefficients in
...
scale_coefficients() rather than in apply_channel_coupling()
2011-09-05 10:07:43 -04:00
Justin Ruggles
3e5722a8ca
ac3enc: fix encoding of stereo ac3 files when rematrixing is disabled.
...
The number of rematrixing bands still needs to be calculated.
2011-09-05 09:24:59 -04:00
Kostya Shishkov
bcd4aa8bec
wavpack: fix wrong return value in wavpack_decode_block()
...
This function should return number of samples decoded, not number of bytes
decoded.
Spotted by Uoti Urpala.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-09-05 12:44:26 +02:00
Dustin Brody
ff17fc6353
mpeg12: propagate more real return values through chunk decode error return and fix some indentation
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-05 11:19:14 +02:00
Kostya Shishkov
9bc4e21a9b
wavpack: use context reset in appropriate places
...
This fixes improper flushing in the cases when the same frame is decoded in
several iterations (for being too large to fit into output buffer) and flush is
called mid-decoding and it also resets context in case of decoding errors.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-05 11:18:27 +02:00
Anton Khirnov
fb47997edb
lavc: fix type for thread_type option
...
It should be flags, not int.
2011-09-04 13:15:36 +02:00
Anton Khirnov
fb4ca26bdb
lavf,lavc,sws: add {avcodec,avformat,sws}_get_class() functions.
2011-09-03 20:53:35 +02:00
Anton Khirnov
c11fb8288d
AVOptions: add AV_OPT_SEARCH_FAKE_OBJ flag for av_opt_find().
...
It allows to search for options only with AVClass, without allocating
the corresponding context.
2011-09-03 20:52:21 +02:00
Anton Khirnov
9bc9188e58
libmp3lame: fix typo
...
FF_API_LAME_GLOBAL_OPTIONS => FF_API_LAME_GLOBAL_OPTS
Thanks to Clément Bœsch for spotting.
2011-09-01 10:37:19 +02:00
Anton Khirnov
1440037411
libx264: use X264_THREADS_AUTO constant instead of 0.
2011-09-01 10:12:30 +02:00
Anton Khirnov
5d06f15235
libx264: set default thread count to 0 (auto)
2011-08-31 17:39:13 +02:00
Anton Khirnov
f013cb8118
lavc: cosmetics, group deprecated codec flags
2011-08-31 13:28:54 +02:00
Anton Khirnov
aed7900704
mpeg12: add 'scan_offset' private option.
...
Deprecate CODEC_FLAG_SVCD_SCAN_OFFSET
2011-08-31 13:28:41 +02:00
Anton Khirnov
4bcee8e7f8
h263/p encoder: add 'structured_slices' private option.
...
Deprecate CODEC_FLAG_H263P_SLICE_STRUCT
2011-08-31 13:28:26 +02:00
Anton Khirnov
0d904de89d
h263/p encoder: add 'obmc' private option.
...
Deprecate CODEC_FLAG_OBMC
2011-08-31 13:28:11 +02:00
Anton Khirnov
e3922d1110
h263p encoder: add 'aiv' private option.
...
Deprecate CODEC_FLAG_H263P_AIV
2011-08-31 13:27:59 +02:00
Anton Khirnov
9bb2d1a3f0
h263p encoder: add 'umv' private option.
...
Deprecate CODEC_FLAG_H263P_UMV
2011-08-31 13:27:36 +02:00
Anton Khirnov
0e5d37309f
mpeg12enc/mpeg4videoenc: add 'alternate_scan' private option.
...
Deprecate CODEC_FLAG_ALT_SCAN
2011-08-31 13:26:26 +02:00
Anton Khirnov
1f0c7020a1
mjpegdec: add 'extern_huff' private option.
...
Deprecate CODEC_FLAG_EXTERN_HUFF
2011-08-31 13:25:54 +02:00
Anton Khirnov
4623420d84
mpeg4enc: add 'data_partitioning' private option.
...
Deprecate CODEC_FLAG_PART
2011-08-31 13:25:18 +02:00
Anton Khirnov
0cc06b9e23
snow: add 'memc_only' private option.
...
Deprecate CODEC_FLAG2_MEMC_ONLY
2011-08-31 13:24:16 +02:00
Anton Khirnov
0dc5e12f1e
libx264: add 'mbtree' private option.
...
Deprecate CODEC_FLAG2_MBTREE
2011-08-31 13:24:02 +02:00
Anton Khirnov
38934f19fe
libx264: add 'psy' private option.
...
Deprecate CODEC_FLAG2_PSY
2011-08-31 13:23:37 +02:00
Anton Khirnov
a7cec3a094
libmp3lame: add 'reservoir' private option.
...
Deprecate CODEC_FLAG2_BIT_RESERVOIR
2011-08-31 13:22:53 +02:00
Anton Khirnov
88262ca87d
mpeg2enc: add 'non_linear_quant' private option
...
Deprecate CODEC_FLAG2_NON_LINEAR_QUANT
2011-08-31 13:21:59 +02:00
Anton Khirnov
2c5e1efc09
mpeg12enc: add drop_frame_timecode private option.
...
Deprecate CODEC_FLAG2_DROP_FRAME_TIMECODE
2011-08-31 13:21:05 +02:00
Anton Khirnov
297d9cb3dc
mpeg12enc: add intra_vlc private option.
...
Deprecate CODEC_FLAG2_INTRA_VLC.
2011-08-31 13:19:14 +02:00
Alberto Delmás
d2f119a1f2
VC1: Support dynamic dimension changes
...
Fixes SA00072, SA00073, SA10150, SA10151, Issue2076
Improves SA10153
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-31 13:11:23 +02:00
Dustin Brody
a18e04bcf9
mjpeg: treat external huffman table setup failure as codec init failure if external huffman table use requested
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-31 10:28:29 +02:00
Anton Khirnov
7485e54708
lavc: deprecate CODEC_FLAG2_BRDO
...
It's been unused for the last 3 years.
2011-08-31 10:26:21 +02:00
Anton Khirnov
cf90c5d0e0
libx264: add 'aud' private option.
...
Deprecate CODEC_FLAG2_AUD.
2011-08-31 10:26:11 +02:00
Anton Khirnov
3b82aeeec0
libx264: add 'fast-pskip' private option.
...
Deprecate CODEC_FLAG2_FASTPSKIP.
2011-08-31 10:25:54 +02:00
Anton Khirnov
373257fa79
libx264: add '8x8dct' private option.
...
Deprecate CODEC_FLAG2_8X8DCT.
2011-08-31 10:25:34 +02:00
Anton Khirnov
eab21c32e3
libx264: add 'mixed-refs' private option.
...
Deprecate CODEC_FLAG2_MIXED_REFS.
2011-08-31 10:25:06 +02:00
Anton Khirnov
0f29699db7
libx264: add 'weightb' private option.
...
Deprecate CODEC_FLAG2_BPYRAMID.
2011-08-31 10:24:56 +02:00
Anton Khirnov
34dda1251d
libx264: add 'b-pyramid' private option.
...
Deprecate CODEC_FLAG2_BPYRAMID.
2011-08-31 10:24:17 +02:00
Anton Khirnov
5d4a1048ee
libx264: add 'intra-refresh' private option.
...
Deprecate CODEC_FLAG2_INTRA_REFRESH.
2011-08-31 10:23:26 +02:00
Anton Khirnov
faaecd4708
libx264: add 'ssim' private option.
...
Deprecate CODEC_FLAG2_SSIM.
2011-08-31 10:23:03 +02:00
Anton Khirnov
3b81636f33
libx264: make options compatible with x264
...
Replace '_' with '-', merge psy-trellis into psy-rd and rename cqp->qp
Also fix typo pdy-rd -> psy-rd
2011-08-31 10:21:36 +02:00
Luca Barbato
dde372934a
avcodec: remove misleading comment
...
coded_width is the width before lowres scaling,
coded_height is the height before lowres scaling.
2011-08-31 09:57:46 +02:00
Kostya Shishkov
a80852316e
RV40: reuse some H.264 motion compensation functions in RV40.
...
Since RV40 is based on H.264, it uses the same interpolation filters and
functions for halfpel interpolation in one direction can be reused.
Unfortunately other cases are implemented differently and produce slightly
different output because of rounding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-08-30 12:04:46 +01:00
Luca Barbato
22141917a9
Revert "h264: Properly set coded_{width, height} when parsing H.264."
...
This reverts commit b47904d158
.
coded_{width, height} overwrites width and height in avcodec_open and
it currently just report the non-lowres size.
2011-08-29 18:32:31 +02:00
Diego Biurrun
0249478756
doxygen: fix wrong comment syntax, //< vs. ///<
2011-08-26 18:34:28 +02:00
Diego Biurrun
0138a8dead
doxygen: drop pointless star from pointer variable names
2011-08-26 18:08:38 +02:00
Dustin Brody
f913eeea43
vp6: partially propagate huffman tree building errors during coeff model parsing and fix misspelling
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-25 15:49:56 -07:00
Dustin Brody
09c274e067
mpeg12: propagate chunk decode errors and fix conditional indentation
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-25 15:49:28 -07:00
John Stebbins
0d802ac54e
vc1: fix VC-1 Pulldown handling.
...
Pulldown flags are being set incorrectly and AVFrame->repeat_pict is not
being set. Also, skipped frames exit header parsing too early and do not
set pulldown flags appropriately. Ticks_per_frame needs to be set and
time_base adjusted so player can extend frame duration by a field time.
This fixes problems encountered when attempting to transcode HD-DVD EVOB
files with HandBrake. Also makes these files play smoothly in avplay.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-25 12:41:45 -07:00
Alberto Delmás
1cf82cab08
VC1: Fix first/last row checks with slices
...
In some places 0/mb_height were used in place of start_mb_y/end_mb_y.
Fixes SA00049, SA00058, SA10091, SA10097, SA10131, SA20021, SA30030
Improves PSNR in SA00054, SA00059, SA00060, SA10096, SA10098, SA20022,
SA30031, SA30032, SA40012, SA40013
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-25 12:33:58 -07:00
Ronald S. Bultje
d4b9974465
vc1: properly zero coded_block[] edges on new slice entry.
...
Previously, we would leave the left edge uninitialized, which led to
CBP prediction errors on slice edges, e.g. in SA10098.vc1.
2011-08-24 22:06:06 -07:00
Anton Khirnov
4ae30cac22
libx264: add 'crf_max' private option.
...
Deprecate corresponding global option.
2011-08-24 14:33:40 +02:00
Anton Khirnov
c5dd0bc4ca
libx264: add 'weightp' private option.
...
Deprecate corresponding global option.
2011-08-24 14:32:24 +02:00
Anton Khirnov
d4b9671318
libx264: add 'rc_lookahead' private option.
...
Deprecate corresponding global option.
2011-08-24 14:31:55 +02:00
Anton Khirnov
2a44a8f609
libx264: add 'psy_trellis' private option.
...
Deprecate corresponding global option.
2011-08-24 14:31:07 +02:00
Anton Khirnov
93e623c642
libx264: add 'psy_rd' private option.
...
Deprecate corresponding global option.
2011-08-24 14:30:25 +02:00
Anton Khirnov
5c75b2a0b7
libx264: add 'aq_strength' private option.
...
Deprecate corresponding global option.
2011-08-24 14:30:00 +02:00
Anton Khirnov
85254fcb46
libx264: add 'aq_mode' private option.
...
Deprecate corresponding global option.
2011-08-24 14:28:40 +02:00
Anton Khirnov
9d508e4914
libx264: add 'cqp' private option.
...
Deprecate corresponding global option.
2011-08-24 14:28:07 +02:00
Anton Khirnov
d5dc8cc297
libx264: add 'crf' private option.
...
Deprecate corresponding global option.
Ideally all x264 private options should be generated automatically, but
x264 doesn't provide the API for this yet.
2011-08-24 14:26:12 +02:00
Anton Khirnov
8ee18b4bee
lavc: remove vbv_delay option
...
It's broken and serves no purpose as it's a read-only field.
2011-08-24 14:07:39 +02:00
Alberto Delmás
45ecda8554
Windows Media Image decoder (WMVP/WVP2)
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 11:18:35 +02:00
Justin Ruggles
3be5a94351
ac3enc: remove outdated TODO comment for apply_channel_coupling()
2011-08-22 12:14:57 -04:00
Anton Khirnov
ae60927aef
libx264: only use ABR mode when the user explicitly set bitrate.
2011-08-22 07:17:39 +02:00
Anton Khirnov
03eff2bf43
libx264: use medium preset by default.
2011-08-22 07:17:38 +02:00
Anton Khirnov
0a593de38a
mp2 encoder: make 128k the default bitrate.
2011-08-22 07:17:38 +02:00
Stefano Sabatini
143d6a3fa7
lavc: add A|E|D flags to "ac" and "ar" options
...
Fix setting of the corresponding AVCodecContext fields via
cmdutils.c:filter_codec_opts().
In particular, fix ffplay -ac and -ar options.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-21 16:06:16 +02:00
Kostya Shishkov
4ba8c521b1
WavPack decoder: implement flush function
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-21 12:54:34 +02:00
Jeff Downs
6581e161c5
h264: fix PCM intra-coded blocks in monochrome case
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 16:02:33 +02:00
Jeff Downs
87cf70eb23
h264: correct implicit weight table computation for long ref pics
...
Correct computation of implicit weight tables when referencing pictures
that are marked for long reference.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 14:36:52 +02:00
Jeff Downs
29a09eae9a
h264: correct the check for invalid long term frame index in MMCO decode
...
The current check on MMCO parameters prohibits a "max long term frame index
plus 1" of 16 (frame idx of 15) for the "set max long term frame index" MMCO.
Fix this off-by-one error to allow the full range of legal values.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-19 14:36:40 +02:00
Alex Converse
44920d04ba
aac: Only set sample rate and object type from ADTS if output hasn't been configured.
...
Long term it would be nice to support error resilient reconfiguration
but right now setting this every frame does more harm than help.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
06d37fede4
aac: Set SBR and PS to unsignalled during headerless and ADTS initialization.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Alex Converse
d8425ed4af
aac: Only output configure if audio was found.
...
Audio found is not triggered on a CCE because a CCE alone has no output.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Dustin Brody
b490f0c2bc
h264: hide reference frame errors unless requested
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-17 20:56:54 -07:00
Ronald S. Bultje
38e06c2969
Move clipd macros to x86util.asm.
...
This allows sharing them between multiple .asm files.
2011-08-17 20:56:06 -07:00
Kostya Shishkov
91e209d720
RV3/4 parser: remove unused variable 'off'
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 15:31:40 +02:00
Kostya Shishkov
48ce8b8da7
Use parsers for RealVideo 3/4 to determine correct PTS
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-17 15:00:42 +02:00
Kostya Shishkov
331971116d
rv10/20: tell decoder to use edge emulation
...
This removes out-of-edge motion compensation artifacts (easily spotted green
blocks in avplay, gray blocks in transcoding), for example here:
http://samples.libav.org/samples/real/tv_watching_t1.rm
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-17 14:53:34 +02:00
Anton Khirnov
bca06e77e1
lavc: add avcodec_get_type() for mapping codec_id -> type.
2011-08-16 20:24:20 +02:00
Anton Khirnov
64db1a82d6
lavc: add audio flag to the 'b' option, deprecate 'ab'.
...
Its only reason for its existence was ffmpeg's inability to properly assign
AVOptions to streams. Now this is not a problem anymore, so 'ab' should
go.
2011-08-16 06:20:43 +02:00
Dustin Brody
a3e215cdc9
svq3: propagate codec memory allocation failure in context init
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-15 21:26:34 +02:00
Dave Yeo
cc73511e8e
Fix NASM include directive
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-15 11:24:35 -07:00
Alex Converse
48f7163f13
dsputil_mmx: Honor HAVE_AMD3DNOW
2011-08-15 11:20:08 -07:00
Reimar Döffinger
0e86965514
VC-1: fix reading of custom PAR.
...
Custom PAR num/denum are in 1-256 range.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 16:36:58 +02:00
Dustin Brody
2bfdb34c8a
mpeg12: remove repeat-field code disabled since May 2002
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 13:03:20 +02:00
Nathan Caldwell
24efdea7fd
aacenc: Fix number of coefficients used in a LFE channel.
...
The spec states:
* Only the lowest 12 spectral coefficients of any LFE may be non-zero
We were using the 12 lowest *bands*.
2011-08-13 19:40:33 -07:00
Nathan Caldwell
51a1d4d94a
aacenc: Fix a segfault with grouped psymodel.
...
10l: Forgot about TYPE_LFE being after TYPE_CPE. Which causes a
segfault when encoding 5.1
2011-08-13 19:37:38 -07:00
Kostya Shishkov
78622ef362
rv34: free+allocate buffer instead of reallocating it to preserve alignment
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-12 13:49:25 -07:00
Ronald S. Bultje
28ca701e0b
h264: add missing brackets.
...
This caused failure of a few fate tests.
2011-08-12 12:32:31 -07:00
Ronald S. Bultje
b2c087871d
Move x86util.asm from libavcodec/ to libavutil/.
...
This allows using it in swscale also.
2011-08-12 11:43:03 -07:00
Ronald S. Bultje
3a39195b1d
Move x86inc.asm to libavutil/.
...
This allows using it in libswscale/ also.
2011-08-12 11:43:02 -07:00
Reinhard Tartler
69c4bee8fa
libx264: Include hint for possible values for configuring libx264
...
The output of the x264 commandline tool contains the most uptodate
description of the possible values for the -preset, -tune and -profile
options.
2011-08-12 14:09:59 +02:00
Kostya Shishkov
b86ab38137
Add weighted motion compensation for RV40 B-frames
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:58 -07:00
Kostya Shishkov
e5ec68699e
RV3/4: calculate B-frame motion weights once per frame
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:23 -07:00
Kostya Shishkov
d241f51e0f
Move RV3/4-specific DSP functions into their own context
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:07:15 -07:00
Dustin Brody
21d7037234
mjpeg: propagate decode errors from ff_mjpeg_decode_sos and ff_mjpeg_decode_dqt
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 16:02:18 -07:00
Dustin Brody
bac3ab13ea
h264: notice memory allocation failure
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-11 15:59:07 -07:00
Justin Ruggles
c766eb1ce1
ac3enc: add macros for option names to make them more understandable.
2011-08-11 11:33:32 -04:00
Justin Ruggles
9542ca9fb7
ac3enc: fix 'channel_coupling' option to actually allow 'auto'.
...
Use 'auto' as the default value.
2011-08-11 11:33:32 -04:00
Mans Rullgard
4a71da0f3a
cavs: fix some crashes with invalid bitstreams
...
This removes all valgrind-reported invalid writes with one
specific test file.
Fixes http://www.ocert.org/advisories/ocert-2011-002.html
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-08-10 22:35:20 +01:00
Justin Ruggles
069083a419
ac3enc: clip coupling coordinates during calculation
...
This is faster than using the clip_coefficients() function. Also,
clipping the coordinates before determining reuse is better since it
will compare coordinates that are closer to their final encoded values.
2011-08-10 17:09:24 -04:00
Justin Ruggles
d271d5b215
Remove incorrect info in documentation of AVCodecContext.bits_per_raw_sample.
...
bits_per_raw_sample is used in video as well, where sample_fmt is not used.
2011-08-10 15:40:52 -04:00
Baptiste Coudurier
1d36fb13b0
lavc: fix parentheses placement in avcodec_open2().
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-10 16:57:33 +02:00
Anton Khirnov
7221139ba0
lavc: make avcodec_init() static on next bump.
...
It's called from avcodec_register() anyway, so there's no reason for it
to be public.
2011-08-10 12:49:57 +02:00
Justin Ruggles
d1d33e0763
ac3enc: remove unneeded #include
2011-08-09 16:44:34 -04:00
Justin Ruggles
fce33f9ead
ac3enc: restructure coupling coordinate reuse calculation
2011-08-09 16:44:34 -04:00
Justin Ruggles
c3d63262fe
ac3enc: allow new coupling coordinates to be sent independently for each
...
channel.
2011-08-09 16:44:34 -04:00
Justin Ruggles
d55ad59a8a
ac3enc: separate exponent bit counting from exponent grouping.
...
Move bit counting to the bit allocation function. Move exponent grouping to
after bit allocation. This will allow for adjustment of bandwidth parameters
during bit allocation without having to do exponent grouping multiple times.
2011-08-09 16:28:18 -04:00
Dustin Brody
12fe759423
h264: propagate error return values for AV_LOG_ERROR-triggering events
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-09 12:29:13 -07:00
Alex Converse
94d47382e0
aac: Don't attempt to output configure an invalid channel configuration.
2011-08-09 12:16:40 -07:00
Kostya Shishkov
7351eb1415
Pretty-print RV3/4 decoder source
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-09 12:06:38 +02:00
Kostya Shishkov
9791c02733
Saner RV1/2 initialisation and RV2 header parsing.
...
Old version was based on lots of guesswork which had different hacks based on
32-bit version field instead of splitting it into major/minor/micro version.
RV2 picture header parser also had a few places where it deviated from binary
decoder.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-08 17:23:07 -07:00
Baptiste Coudurier
5caa2de19e
libx264: do not set pic quality if no frame is output
...
Avoids uninitialized reads.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-08 14:33:09 +02:00
Baptiste Coudurier
07a227b432
libx264: add preset, tune, profile and fastfirstpass private options
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-08 14:33:09 +02:00
Dustin Brody
b2700a5c7c
lavc: fix misspelling in comment
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-05 18:18:38 -07:00
Dustin Brody
680b1852ab
aac: propagate error return values for AV_LOG_ERROR-triggering events
2011-08-05 12:35:49 -07:00
Alex Converse
ad62507f32
h263dec: Fix asserts broken by the elimination of FF_COMMON_FRAME.
2011-08-03 17:56:47 -07:00
Diego Biurrun
fed6c90b68
cosmetics: remove some stray comments from AVCodec declarations
2011-08-03 23:31:45 +02:00
Diego Biurrun
933a6fd5a1
cosmetics: fix indentation/alignment in AVCodec declarations
2011-08-03 23:31:45 +02:00
Måns Rullgård
9a83adaf34
arm: Avoid using the movw instruction needlessly
...
This fixes building for ARM11 without Thumb2.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:58 +03:00
Martin Storsjö
d0a2f0af9d
Move an int64_t down in MpegEncContext
...
This allows using the same arm assembler offsets for both EABI
and the mach-o ABI.
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-08-03 11:56:56 +03:00
Vitor Sessak
18b131de04
dct32: Add SSE2 ASM optimizations
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 10:17:29 -07:00
Kostya Shishkov
6f7fe4723b
Correct chroma vector calculation for RealVideo 3.
...
Old version divided it wrong, which resulted in chroma drift (visible on FATE
sample too as dirty trails left by clouds).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-08-02 08:23:47 -07:00
Luca Barbato
9d39cbf6cf
avpacket: signal possibly corrupted packets
...
Use AV_PKT_FLAG_CORRUPT flag to mark packets that might be incomplete
or have errors. Formats that have a mean to validate their packets
should use this flag to deliver such information instead of silently
dropping the packets.
2011-08-02 02:19:31 +02:00
Dustin Brody
4326f6f525
mpeg4videodec: remove dead code that would have detected erroneous encoding
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-01 21:06:48 +02:00
Alex Converse
a6c49f18ab
aac: Remove some suspicious illegal memcpy()s from LTP.
2011-08-01 09:39:33 -07:00
Alex Converse
e11a5fccb2
bink: Eliminate unnecessary shadow declaration.
2011-08-01 09:39:33 -07:00
Dustin Brody
18cb40f074
lavc: Deprecate unused FF_ER_VERY_AGGRESSIVE
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-31 14:53:38 -07:00
Jason Garrett-Glaser
a3bf7b864a
H.264: tweak some other x86 asm for Atom
2011-07-29 12:24:15 -07:00
Dustin Brody
8f9d3f6d9a
s302m: use nondeprecated audio sample format API
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-07-29 08:47:34 +02:00
Anton Khirnov
ec6402b7c5
lavc: use designated initialisers for all codecs.
...
It's more readable and less prone to breakage.
2011-07-29 08:42:34 +02:00
Mans Rullgard
3ad1684126
x86: cabac: add operand size suffixes missing from 6c32576
...
This fixes build with clang.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 18:59:23 -07:00
Dustin Brody
2a11952f45
h263dec: Propagate AV_LOG_ERRORs from slice decoding through frame decoding with sufficient error recognition
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-28 15:23:07 -07:00
Mans Rullgard
f5f004bc5a
x86: cabac: don't load/store context values in asm
...
Inspection of compiled code shows gcc handles these fine on its own.
Benchmarking also shows no measurable speed difference.
Removing the remaining cases in get_cabac_bypass_sign_x86() does
cause more substantial changes to the compiled code with uncertain
impact.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-28 22:25:21 +01:00
Jason Garrett-Glaser
6c32576548
H.264: optimize CABAC x86 asm for Atom
2011-07-28 13:06:13 -07:00
Ronald S. Bultje
8dcf518430
vp3/theora: flush after seek.
2011-07-28 12:17:26 -07:00
Mans Rullgard
ca6a904656
ppc: remove redundant setting of Altivec IDCT
...
This is already set by dsputil_init_ppc() and is best done in only
one place.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Mans Rullgard
c3027b4d2f
mpegvideo: initialise DSPContext in ff_dct_common_init()
...
The functions and tables initialised in this function rely on an
initialised DSPContext. Make sure they always have one.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 20:14:12 +01:00
Justin Ruggles
093ee8e199
cosmetics: reindent
2011-07-27 11:51:46 -04:00
Justin Ruggles
1bca72e1bd
eac3enc: support writing of basic mixing and info metadata
2011-07-27 11:51:46 -04:00
Mans Rullgard
e72f3d10f6
dnxhdenc: fix declarations in for loops
...
Apparently the gcc warning doesn't trigger on these.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:36:02 +01:00
Mans Rullgard
c358a0364e
dsputil: remove stale bink prototypes and comments
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
1b3539d453
dsputil: move a bink-only function to binkdsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Mans Rullgard
cbd58a872d
dsputil: remove some unused functions
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 16:05:49 +01:00
Kostya Shishkov
2968bedf12
bink: make IDCT take 32-bit input
...
Since IDCT transforming 32-bit input to 8-bit output is unusual and unpractical
for most codecs, move Bink IDCT into separate context. Get rid of an additional
permutation table while at it since SIMD support for Bink IDCT is unlikely to
be implemented in foreseeable future.
Quantisation tables also have to change type to signed for proper
dequantisation of DCT coefficients.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-27 14:39:56 +01:00
Diego Biurrun
9b3139ebca
dctref: make sure function declarations match between .c and .h file
2011-07-27 00:26:13 +02:00
Mans Rullgard
da4c7cce21
x86: fix build with gcc 4.7
...
The upcoming gcc 4.7 has more advanced constant propagation
resulting some inline asm operands becoming constants and thus
emitted as literals, sometimes in contexts where this results
in invalid instructions.
This patch changes the constraints of the relevant operands
to "rm" thus forcing a valid type. While obviously suboptimal,
this is what older gcc versions already did, and there is no
change to the code generated with these.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-26 22:17:43 +01:00
Michael Niedermayer
8c0fa61a97
jpegdec: actually search for and parse RSTn
...
Fixes decoding of MJPEG files produced by some UVC Logitec web cameras,
such as "Notebook Pro" and "HD C910".
References:
http://trac.videolan.org/vlc/ticket/4215
http://ffmpeg.org/trac/ffmpeg/ticket/267
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Reviewed-by: Kostya <kostya.shishkov@gmail.com>
(cherry picked from commit 7b8ed831eb
)
2011-07-23 19:19:13 +02:00
Mans Rullgard
b4cfb8254e
dnxhddec: avoid a branch in 10-bit decode_dct_block()
...
The minimum weight value is 32 so this test can be skipped for the
10-bit case. Overall speedup 3-4%.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-22 23:39:31 +01:00
Daniel Kang
406fbd24dc
H.264: Add optimizations to predict x86 assembly.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 14:54:33 -07:00
Kostya Shishkov
c2d23309ef
add Flash Screen Video 2 decoder
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-22 09:12:30 -07:00
Mans Rullgard
bb32fded36
dnxhddec: optimise dnxhd_decode_dct_block()
...
Template the function for 8/10-bit and use lowlevel bitstream
macros.
6% faster overall on i7 gcc 4.5.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 23:14:37 +01:00
Justin Ruggles
be7bd626c4
eac3enc: use different numbers of blocks per frame to allow higher bitrates
2011-07-21 14:57:10 -04:00
Joseph Artsimovich
5ab21439fd
dnxhd: 10-bit support
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:44:40 +01:00
Mans Rullgard
a617c6aaa3
dsputil: update per-arch init funcs for non-h264 high bit depth
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
874f1a901d
dsputil: template get_pixels() for different bit depths
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
5cc2600964
dsputil: create 16/32-bit dctcoef versions of some functions
...
High bitdepth H.264 needs 32-bit transform coefficients, whereas
dnxhd does not. This creates a conflict with the templated
functions operating on DCTELEM data. This patch adds a field
allowing the caller to choose the element size in dsputil_init()
and adds the required functions.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Mans Rullgard
0a72533e98
jfdctint: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 18:10:58 +01:00
Thierry Foucu
c4ab43ff3c
mpeg4: add Mpeg4 Profiles names.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-21 09:34:11 -07:00
Thierry Foucu
0637e50579
mpeg4: decode Level Profile for MPEG4 Part 2.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-07-21 09:33:34 -07:00
Stefano Sabatini
09e8163625
imgconvert: remove unused glue and xglue macros
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-21 17:55:27 +02:00
Diego Biurrun
e5985185d2
rv30: return AVERROR(EINVAL) instead of EINVAL
...
On some platforms EINVAL could be positive, ensure we return negative values.
2011-07-21 14:26:06 +02:00
Mans Rullgard
2cc4f3b21f
simple_idct: whitespace cosmetics
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 12:49:51 +01:00
Mans Rullgard
a402f10959
simple_idct: make repeated code a macro
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 12:49:51 +01:00
Mans Rullgard
7df701a192
dsputil: remove huge #if 0 block
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 11:04:56 +01:00
Mans Rullgard
e7bcc5baf7
simple_idct: change 10-bit add/put stride from pixels to bytes
...
This matches other dsputil functions and simplifies calls.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 09:26:37 +01:00
Mans Rullgard
a82beafd64
dsputil: allow 9/10-bit functions for non-h264 codecs
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 09:26:26 +01:00
Joseph Artsimovich
42c27f2eca
dnxhd: rename some data tables
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 03:30:29 +01:00
Mans Rullgard
b049978397
dnxhdenc: remove inline from function only called through pointer
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 02:13:03 +01:00
Mans Rullgard
1073823984
dnxhdenc: whitespace cosmetics
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-21 02:12:47 +01:00
Diego Biurrun
79a9aab56f
Remove unused and non-compiling vestigial g729 decoder
2011-07-20 20:47:07 +02:00
Diego Biurrun
a005174b25
Remove unused code under G729_BITEXACT #ifdef.
...
G729_BITEXACT is never set, so the code is all dead code.
2011-07-20 20:47:07 +02:00
Ronald S. Bultje
80469eafb7
mpegvideo: fix invalid picture unreferencing.
...
Mpegvideo would free frames as soon as they're not the next or prev
picture. This is fine for a single-threading model, but fails miserably
in a system where pictures can be referenced (as e.g. last/prev pic)
in other threads. Keeping track of ownership of pictures keeps image
references (e.g. motion vectors, or the reference of a motion vector)
alive as long as the picture data itself is alive.
This also happens to fix make THREADS=[3-16] fate-vsynth[12]-error.
2011-07-20 10:26:49 -07:00
Alex Converse
e4b50572b7
dsputil: Remove extra blank line at end.
2011-07-20 10:15:57 -07:00
Alex Converse
d9a9f50a36
dsputil: Replace a LONG_MAX check with HAVE_FAST_64BIT.
2011-07-20 10:15:57 -07:00
Mans Rullgard
e7a972e113
simple_idct: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 17:49:48 +01:00
Mans Rullgard
7b4ee3a21d
Remove h264_lowres_idct_put/add functions
...
Use of these has been broken ever since the h264 idct was changed
to always use transposed inputs. Furthermore, they were only
ever used if some *other* non-default idct was requested.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 16:13:04 +01:00
Mans Rullgard
89cc8a316d
Remove snow/dwt test program
...
This test program so full of programming errors it is impossible
to make sense of it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 14:54:24 +01:00
Diego Biurrun
1b4a17094e
h264: remove some disabled code
2011-07-20 15:04:51 +02:00
Mans Rullgard
e23a05ab06
Fix incorrect max_lowres values
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-20 10:19:36 +01:00
Justin Ruggles
953302656a
cosmetics: indentation
2011-07-19 14:15:00 -04:00
Justin Ruggles
08a747afb9
eac3enc: use frame exponent strategy when applicable.
...
This checks if the set of selected exponent strategies for all blocks in a
channel are in the frame exponent strategy table, and if so, writes the
table index instead of each strategy. This saves up to 7 bits per channel per
frame, so the overall effect on quality is small.
2011-07-19 14:15:00 -04:00
Justin Ruggles
31b69928e5
cosmetics: rename eac3dec_data.c/h to eac3_data.c/h since the tables will also
...
be used in the E-AC-3 encoder.
2011-07-19 14:15:00 -04:00
Mans Rullgard
29b42c66f7
dsputil: fix ff_check_alignment()
...
The change to LOCAL_ALIGNED means the declared object must be an
array and the subsequent test should not use the & operator.
Noticed by Uoti Urpala.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-19 17:44:35 +01:00
Mans Rullgard
3e9409b1d0
simple_idct: simplify some ifdeffery
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-18 20:57:27 +01:00
Mans Rullgard
dbb5ee8ea7
simple_idct: remove code for DCTELEM != int16
...
DCTELEM can never be changed to anything else, too much code
depends on it.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-18 20:57:22 +01:00
Mans Rullgard
3f5dcde7e6
Remove VLAs in ff_amrwb_lsp2lpc()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-18 18:48:13 +01:00
Diego Biurrun
e463f0e979
dsputil: restore mistakenly removed hunk of disabled code
...
This particular part serves to document the optimized code variant.
2011-07-18 18:04:56 +02:00
Diego Biurrun
65083b4911
dsputil: remove disabled code
2011-07-18 11:48:35 +02:00
Diego Biurrun
c99c0e2625
tta: remove disabled code
2011-07-18 01:47:50 +02:00
Martin Storsjö
8f62ef0f95
x86: Use LOCAL_ALIGNED in mpegvideo_mmx_template
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-07-18 00:10:45 +03:00
Diego Biurrun
e0ae2174db
simple_idct: remove disabled code
2011-07-17 17:32:37 +02:00
Diego Biurrun
473e547e80
motion_est: remove disabled code
2011-07-17 17:32:37 +02:00
Diego Biurrun
9cab9421ce
vc1: remove disabled code
2011-07-17 17:32:37 +02:00
Diego Biurrun
fd065d3e79
cabac: Move code only used in the cabac test program to cabac.c.
2011-07-17 12:56:42 +02:00
Mans Rullgard
2f07cb4d39
dct-test: remove write-only variable
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-16 19:39:19 +01:00
Mans Rullgard
58d7efdb29
Use LOCAL_ALIGNED in ff_check_alignment()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-07-16 19:39:19 +01:00
Diego Biurrun
8342a82680
arm: remove disabled function dct_unquantize_h263_inter_iwmmxt()
2011-07-16 19:15:01 +02:00
Diego Biurrun
4d4c7f8ef0
Remove commented-out call to non-existing function print_pow1().
2011-07-16 19:13:45 +02:00
Rafaël Carré
289c60001f
Do not decode RV30 files if the extradata is too small
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-07-16 18:17:43 +02:00
Diego Biurrun
b8783b98c5
flashsv: split flashsv_decode_block() off from flashsv_decode_frame().
2011-07-16 09:08:51 +02:00
Diego Biurrun
21aed0ed92
ppc: remove disabled code
2011-07-16 02:56:52 +02:00
Diego Biurrun
0523dc57ff
libspeexdec: Drop const qualifier to silence compiler warning.
...
libavcodec/libspeexdec.c:108: warning: passing argument 2 of ‘speex_bits_read_from’ discards qualifiers from pointer target type
/usr/include/speex/speex_bits.h:80: note: expected ‘char *’ but argument is of type ‘const uint8_t *’
2011-07-16 01:26:51 +02:00
Diego Biurrun
34e36f3a1c
libopenjpeg: Drop const qualifier to silence compiler warning.
...
libavcodec/libopenjpeg.c💯 warning: passing argument 2 of ‘opj_cio_open’ discards qualifiers from pointer target type
/usr/include/openjpeg.h:770: note: expected ‘unsigned char *’ but argument is of type ‘const uint8_t *’
2011-07-16 01:26:51 +02:00