Kostya Shishkov
1470ce21ce
Bump libavcodec and libavformat minor versions for G.723.1 decoder and demuxer
2012-07-22 08:43:12 +02:00
Mohamed Naufal Basheer
55c3a4f617
G.723.1 demuxer and decoder
...
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:54 +02:00
Mohamed Naufal Basheer
8aac5585fa
Add a shift parameter to celp_lp_synthesis_filter()
...
This is intended for reuse by the G.723.1 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-07-22 07:58:53 +02:00
Luca Barbato
51a5ddfa01
libopenjpeg: K&R formatting cosmetics
2012-07-22 04:05:45 +02:00
Ronald S. Bultje
b170b323e3
ac3: don't use different names for option tables in the template file.
...
The variables which are declared in the teplate file are static and
therefore there is no symbol clash.
2012-07-21 16:42:36 -07:00
Ronald S. Bultje
98041afb5f
adpcm: don't duplicate identical AVSampleFmt array for each encoder.
2012-07-21 16:31:15 -07:00
Luca Barbato
ce64e5bfd1
libopenjpeg: introduce lowres and lowqual private options
...
OpenJPEG can decode in lower resolution or decode only a number
of enhancement layers.
2012-07-20 13:23:18 +02:00
Justin Ruggles
4cd22b7738
alac: fix channel pointer assignment for 24 and 32-bit
...
Needs to be done separately for each element.
2012-07-19 20:14:29 -04:00
Justin Ruggles
eeb55f5f2f
alac: cosmetics: general pretty-printing and comment clean up
2012-07-19 13:26:48 -04:00
Justin Ruggles
f3e5a7844b
alac: calculate buffer size outside the loop in allocate_buffers()
2012-07-19 13:26:48 -04:00
Justin Ruggles
bae83f2c74
alac: change some data types to plain int
2012-07-19 13:26:48 -04:00
Justin Ruggles
2aebac6918
alac: cosmetics: rename some variables and function names
2012-07-19 13:26:48 -04:00
Andrew D'Addesio
1b3ef155d7
alac: multi-channel decoding support
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-07-19 13:26:48 -04:00
Justin Ruggles
81c9e2e6d0
alac: split element parsing into a separate function
...
This will make multi-channel implementation simpler.
Based partially on a patch by Andrew D'Addesio <modchipv12@gmail.com>.
2012-07-19 13:26:48 -04:00
Justin Ruggles
cd632619d9
alac: support a read sample size of up to 32
...
Use get_bits_long() in decode_scalar().
Use unsigned int for decoded value.
2012-07-19 13:26:48 -04:00
Justin Ruggles
73dc0db486
alac: output in planar sample format
...
Avoids unneeded interleaving and allows for reusing the AVFrame output buffer
as the internal buffer for 24-bit and 32-bit sample size.
2012-07-19 13:26:48 -04:00
Justin Ruggles
6482bd8831
alac: add 32-bit decoding support
2012-07-19 13:26:48 -04:00
Andrew D'Addesio
6cda74c155
alac: simplify channel interleaving
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-07-19 13:26:48 -04:00
Justin Ruggles
5138ff143f
alac: use AVPacket fields directly in alac_decode_frame()
2012-07-19 13:26:47 -04:00
Justin Ruggles
7a206eb32f
alac: fix check for valid max_samples_per_frame
2012-07-19 13:26:47 -04:00
Justin Ruggles
1193d3fedd
alac: use get_sbits() to read LPC coefficients instead of casting
2012-07-19 13:26:47 -04:00
Justin Ruggles
7a50ec6799
alac: move the current samples per frame to the ALACContext
...
This will simplify the multi-channel implementation.
2012-07-19 13:26:47 -04:00
Justin Ruggles
46043962ea
alac: avoid using a double-negative when checking if the frame is compressed
2012-07-19 13:26:47 -04:00
Justin Ruggles
9a6c528e08
alac: factor out output_size check in predictor_decompress_fir_adapt()
2012-07-19 13:26:47 -04:00
Justin Ruggles
ebd4c3add1
alac: factor out loading of next decoded sample in LPC prediction
2012-07-19 13:26:47 -04:00
Justin Ruggles
a4ecd41442
alac: use index into buffer_out instead of incrementing the pointer
2012-07-19 13:26:47 -04:00
Justin Ruggles
f2515cd629
alac: simplify lpc coefficient adaptation
2012-07-19 13:26:47 -04:00
Justin Ruggles
abc4376b31
alac: reduce the number of local variables needed in lpc prediction
2012-07-19 13:26:47 -04:00
Justin Ruggles
01880d287b
alac: simplify 1st order prediction and reading of warm-up samples
2012-07-19 13:26:46 -04:00
Justin Ruggles
d0c0bf0d3e
alac: cosmetics: reindent after last commit
2012-07-19 13:26:46 -04:00
Justin Ruggles
79def4c523
alac: remove unneeded conditionals in predictor_decompress_fir_adapt()
2012-07-19 13:26:46 -04:00
Justin Ruggles
4bcd637dcb
alac: use sizeof() instead of hardcoded data sizes
2012-07-19 13:26:46 -04:00
Justin Ruggles
91620a04f1
alac: make block_size signed
...
It does not need to be unsigned.
2012-07-19 13:26:46 -04:00
Justin Ruggles
2fc24b3273
alac: remove a duplicate local variable
2012-07-19 13:26:46 -04:00
Justin Ruggles
5177413d20
alac: conditionally set sign_modifier to 1
...
It is already unconditionally set to 0 prior to this, so we can modify it
only when needed.
2012-07-19 13:26:46 -04:00
Justin Ruggles
7e6593e977
alac: eliminate 2 unneeded local variables in bastardized_rice_decompress()
...
x_modified is just unnecessary, and final_val can be removed by simplifying
the unsigned-to-signed conversion.
2012-07-19 13:26:46 -04:00
Justin Ruggles
6fd8a28b59
alac: adjust conditions for updating entropy decoder history
...
avoids some unnecessary arithmetic in certain situations
2012-07-19 13:26:46 -04:00
Justin Ruggles
a06fdadd97
alac: cosmetics: reindent after last commit
2012-07-19 13:26:46 -04:00
Justin Ruggles
d9837434a9
alac: limit the rice param before passing to decode_scalar()
...
reduces the number of parameters to decode_scalar() and slightly simplifies
the code
2012-07-19 13:26:45 -04:00
Justin Ruggles
6e91f62256
alac: reduce the number of parameters to bastardized_rice_decompress()
...
Use the ALACContext fields directly instead.
2012-07-19 13:26:45 -04:00
Justin Ruggles
836e8b9ba0
alac: cosmetics: rename some ALACContext parameters
2012-07-19 13:26:45 -04:00
Justin Ruggles
2ac1737583
alac: clean up and update comments leftover from reverse-engineering
2012-07-19 13:26:45 -04:00
Mans Rullgard
bf1cf4d5a5
flacdec: reverse lpc coeff order, simplify filter
...
Reversing the lpc coefficient order simplifies indexing in
the filter.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-19 10:21:32 +01:00
Diego Biurrun
9f97af2688
x86: dsputil: drop some unused CPU flag debug code
2012-07-19 10:17:56 +02:00
Mans Rullgard
ffdd93a25e
ppc: fix build with altivec disabled
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-18 13:34:42 +01:00
Mans Rullgard
28f9ab7029
vp3: move idct and loop filter pointers to new vp3dsp context
...
This moves all VP3-specific function pointers from dsputil to a
new vp3dsp context. There is no reason to ever use the VP3 IDCT
where an MPEG2 IDCT is expected or vice versa.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-18 10:32:19 +01:00
Mans Rullgard
ab9f987661
build: add CONFIG_VP3DSP, reduce repetition in OBJS lists
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-18 10:32:18 +01:00
Kostya Shishkov
4cfb0d871d
tscc2: do not add/subtract 128 bias during DCT
...
It turns out that the reference decoder subtracts 128 from DC during block
decode but adds it back during reordering block with zigzag pattern.
Transforming block with incorrect DC caused heavy visual artifacts for
many quantisers.
2012-07-18 07:05:59 +02:00
Kostya Shishkov
3c6c19184c
tscc2: fix typo in DCT
2012-07-18 07:05:53 +02:00
Michael Bradshaw
453c02f971
libopenjpeg: introduce encoding support
...
Based on FFmpeg version from
commit 713a7854e0
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-17 14:56:58 +02:00
Michael Bradshaw
b43a7bb4f9
libopenjpeg: rename decoder source file.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-17 14:56:22 +02:00
Kostya Shishkov
0b40153d20
tscc2: DCT output should not be clipped
...
This fixes decoding some TSCC2 files with large quantisers.
2012-07-17 07:21:24 +02:00
Mohammad Alsaleh
c37c383e59
libfdk-aac: Check if cutoff value is valid
...
Passing a cutoff value < sample_rate/256 will cause a crash.
Also, values >20000 will have no effect and 20000 will be used anyway.
Signed-off-by: Mohammad Alsaleh <msal@tormail.org>
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 21:59:51 +03:00
Mashiat Sarker Shakkhar
082829520e
vc1dec: Do not use random pred_flag if motion vector data is skipped
...
This fixes SA10143.vc1 from test-suite. Also partially fixes MC-VC1.ts
from videolan streams archive.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 14:02:38 +03:00
Martin Storsjö
25f056e6d4
vp8: Enclose pthread function calls in ifdefs
...
This fixes building with threads disabled.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-15 13:55:18 +03:00
Ronald S. Bultje
c44091a9f7
snow: refactor code to work around a compiler bug in MSVC.
...
This fixes the compiler error "cannot convert from 'BlockNode' to
'int16_t'".
2012-07-14 19:19:34 -07:00
Martin Storsjö
a794600c00
vp8: Include the thread headers before using the pthread types
...
This was unnoticed on linux, since stdlib.h apparently includes
files declaring the pthread_mutex_t and pthread_cond_t types.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-14 19:19:33 -07:00
Daniel Kang
951455c1c1
vp8: implement sliced threading
...
Testing gives 25-30% gain on HD clips with two threads and
up to 50% gain with eight threads.
Sliced threading uses more memory than single or frame threading.
Frame threading and single threading keep the previous memory
layout.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14 20:18:54 +02:00
Daniel Kang
17343e3952
vp8: move data from VP8Context->VP8Macroblock
...
In preparation for sliced threading.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14 20:18:54 +02:00
Daniel Kang
337ade52de
vp8: refactor decoding a single mb_row
...
This is in preperation for sliced threading.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-14 20:18:54 +02:00
Janne Grunau
f30260d32a
imgconvert: deprecate avcodec_find_best_pix_fmt()
2012-07-13 19:22:46 +02:00
Janne Grunau
ac29054fda
imgconvert: add avcodec_find_best_pix_fmt2()
...
The number of pixel formats outgrew the number of available bits in
the bitmask used in avcodec_find_best_pix_fmt().
avcodec_find_best_pix_fmt2() uses a PIX_FMT_NONE terminated list
of pixel formats instead.
2012-07-13 19:22:46 +02:00
Janne Grunau
39bb27bf79
imgconvert: avoid undefined left shift in avcodec_find_best_pix_fmt
...
CC: libav-stable@libav.org
2012-07-13 17:29:27 +02:00
Kostya Shishkov
5b7e3a195d
MS Expression Encoder Screen decoder
2012-07-13 06:59:48 +02:00
Martin Storsjö
7548831c5e
libfdk-aac: Allow setting the encoder bandwidth/cutoff frequency
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 23:37:29 +03:00
Diego Biurrun
0da29727ea
build: Fix Ogg demuxer dependencies
2012-07-12 11:11:25 +02:00
Diego Biurrun
b896008271
build: Fix FLAC demuxer dependencies
2012-07-12 11:11:24 +02:00
Diego Biurrun
8eea8fdceb
flac: Move flac functions shared between libraries to flac common code
...
This fixes a number of flac-related build dependencies.
2012-07-12 11:11:23 +02:00
Diego Biurrun
a519463366
build: Fix CAF demuxer dependencies
2012-07-12 10:45:21 +02:00
Diego Biurrun
b7884ff7af
build: Fix MP2 muxer dependencies
2012-07-12 10:45:21 +02:00
Diego Biurrun
d648de61e6
build: Add missing build rules for the ISMV muxer
2012-07-12 10:45:20 +02:00
Martin Storsjö
37eeb5e273
Support AAC encoding via the external library fdk-aac
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 11:01:10 +03:00
Martin Storsjö
372597e538
libavcodec: Add more AAC profiles
...
The numerical values of the profiles are the MPEG4 Audio Object
Type values, minus one.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-12 10:54:15 +03:00
Ronald S. Bultje
667fb97a65
dct/fft-test: use a replacement getopt() if the system has none present.
...
This allows compiling and running these tests on systems lacking a built-
in version of getopt(), such as MSVC.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-11 21:24:37 +02:00
Kostya Shishkov
781888da89
TechSmith Screen Codec 2 decoder
2012-07-11 07:29:05 +02:00
Kostya Shishkov
ed219ed366
mss1: fix decoding masked regions in interframes
...
Spotted by Alberto Delmás
2012-07-10 13:58:05 +02:00
Kostya Shishkov
5467742232
mss3: use standard zigzag table
2012-07-09 18:17:51 +02:00
Kostya Shishkov
acfb6b6cf8
mss3: split DSP functions that are used in MTS2(MSS4) into separate file
2012-07-09 18:17:51 +02:00
Anton Khirnov
82f82ccfc8
motion-test: do not use getopt()
...
It is not available on all systems and using argc/argv directly actually
makes the code simpler.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-09 17:20:52 +02:00
JULIAN GARDNER
0dd283faca
libx264: support aspect ratio switching
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-09 08:15:59 +02:00
Martin Storsjö
f27386cdc7
x86: h264_intrapred: Don't add the 'd' suffix to the SPLATB_REG macro
...
The SPLATB_REG macro already adds the 'd' suffix internally.
This fixes building on Win64, which has been broken since 878e66902
.
This worked for unix, where r2 happened to be rdx in this case, which
with the first suffix rdxd was mapped to eax, and eaxd is defined back
to eax. On win64 however, r2 happened to be R8 in this case, and
R8d mapps to R8D just fine, but there's no mapping for R8Dd to anything.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-06 21:07:23 +03:00
Kostya Shishkov
1f061da529
mss3: add forgotten 'static' qualifier for private table
2012-07-06 11:37:35 +02:00
Mans Rullgard
0a19000da8
lavc: options: add planar names for request_sample_fmt
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Mans Rullgard
784514a4a8
flacdec: add planar output support
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 21:57:51 +01:00
Diego Biurrun
bb58c43c69
qdm2: remove broken and disabled dump_context() debug function
2012-07-05 17:37:12 +02:00
Diego Biurrun
878e669029
x86: h264_intrapred: use newly introduced SPLAT* and PSHUFLW macros
2012-07-05 17:37:11 +02:00
Loren Merritt
4d4752366f
x86inc: add SPLATB_LOAD, SPLATB_REG, PSHUFLW macros
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-07-05 17:37:11 +02:00
Diego Biurrun
d20f133ef9
x86: h264_intrapred: port to cpuflag macros
2012-07-05 17:37:10 +02:00
Mans Rullgard
28fff0d974
h264: use templates to avoid excessive inlining
...
Instead of inlining everything into ff_h264_hl_decode_mb(), use
explicit templating to create versions of the called functions
with constant parameters filled in. This greatly speeds up
compilation of h264.c and reduces the code size without any
measurable impact on performance.
Compilation time for h264.c on an i7 goes from 30s to 5.5s.
Code size is reduced by 430kB.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-05 11:50:18 +01:00
Michael Niedermayer
18f2d5cb9c
mpegvideo: Don't use ff_mspel_motion() for vc1
...
Using ff_mspel_motion assumes that s (a MpegEncContext
poiinter) really is a Wmv2Context.
This fixes crashes in error resilience on vc1/wmv3 videos.
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 12:41:19 +03:00
Martin Storsjö
07eeeb1d4f
vp8: Add ifdef guards around the sse2 loopfilter in the sse2slow branch too
...
This was missed in the the previous commit in 70a1c800
.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-05 09:39:01 +03:00
Martin Storsjö
70a1c8000f
vp8: loopfilter >=sse2 functions need aligned stack on x86-32.
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-04 08:25:50 -07:00
Ronald S. Bultje
c51838478c
amr: remove shift out of the AMR_BIT() macro.
...
MSVC doesn't like the offsetof(..) >> 1 construct, it interprets it as
a non-literal, thus causing use of this in static tables to fail
compilation.
2012-07-04 07:46:53 -07:00
Ronald S. Bultje
723b266d72
dsputilenc: group yasm and inline asm function pointer assignment.
2012-07-04 07:46:27 -07:00
Diego Biurrun
2047e40e6e
Clarify Doxygen comment for FF_API_* #defines.
2012-07-04 15:10:10 +02:00
Ronald S. Bultje
89b81a1c88
mpegvideo: remove VLAs
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-04 15:10:57 +03:00
Mans Rullgard
25accf93ad
flacdec: move lpc filter to flacdsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
4a8528349f
flacdec: split off channel decorrelation as flacdsp
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 12:24:30 +01:00
Mans Rullgard
87466f8124
flacdec: factor out code setting avctx->sample_fmt
2012-07-04 03:34:34 +01:00
Mans Rullgard
d155b60fc8
flac: make FLAC_CHMODE_* constants consecutive
2012-07-04 03:30:43 +01:00
Mans Rullgard
93e7ef9a24
flacdec: allocate sample buffers with av_malloc
...
The buffers are only allocated once, although it can happen from
any of a few different places, so there is no need to use realloc.
Using av_malloc() ensures they are aligned suitably for SIMD
optimisations.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 03:30:01 +01:00
Mans Rullgard
0da301e105
flacdec: remove curr_bps from FLACContext
...
This value does not need to be persistent across calls.
2012-07-04 03:29:29 +01:00
Mans Rullgard
360aa2465a
flacenc: add option for forcing stereo decorrelation mode
...
This is mainly useful for testing.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 01:22:40 +01:00
Diego Biurrun
4051be6f50
anm: fix a few Doxygen comments
2012-07-03 17:35:11 +02:00
Diego Biurrun
09f211987c
misc typo and wording fixes
2012-07-03 17:35:11 +02:00
Ronald S. Bultje
3389545157
snow: remove a VLA used for edge emulation
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 16:31:23 +03:00
Ronald S. Bultje
cbd9b2f918
snow: remove the runs[] VLA.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:46 +03:00
Martin Storsjö
4d8516fdb1
snow: Check mallocs at init
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-03 12:16:39 +03:00
Mans Rullgard
4719ea7e1e
flacdec: remove redundant setting of avctx->sample_fmt
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 22:13:32 +01:00
Mans Rullgard
58e57c3052
snow: remove VLA in mc_block()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 12:24:12 +01:00
Ronald S. Bultje
33bb63cb3e
snow: remove a VLA.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-02 13:04:00 +03:00
Kostya Shishkov
edf35d8342
MS ATC Screen (aka MSS3) decoder
2012-07-02 07:14:44 +02:00
Martin Storsjö
fc31508e3a
roqvideo: Remove a totally unused dspcontext
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 23:54:35 +03:00
Mans Rullgard
779f8bc24e
smacker: remove some unused code
...
This removes some code apparently left over from vlc reader
debugging.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
d55e5e6bae
dsicin: remove dead assignment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
3c928477d2
aacdec: remove dead assignment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
800ab1bafa
rl2: remove dead assignment
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
1c2c64edac
proresenc: make a variable local to the loop where it is used
...
This moves the mbs_per_slice declaration inside the only loop
where it is used. Fixes a dead assignment.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Mans Rullgard
4ca6d206d1
alsdec: remove dead assignments
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 20:38:14 +01:00
Martin Storsjö
710bd8a33e
wma: Lower the maximum number of channels to 2
...
ff_wma_init is used only by wmadec and wmaenc, and neither of them
can handle more than 2 channels.
This fixes crashes with invalid files.
Based on patch by Piotr Bandurski and Michael Niedermayer.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-07-01 15:51:26 +03:00
Mans Rullgard
62634158b7
ARM: generate position independent code to access data symbols
...
This creates proper position independent code when accessing
data symbols if CONFIG_PIC is set.
References to external symbols should now use the movrelx macro.
Some additional code changes are required since this macro may
need a register to hold the GOT pointer.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-01 11:25:06 +01:00
Ronald S. Bultje
ceabc13f12
dsputilenc_mmx: split assignment of ff_sse16_sse2 to SSE2 section.
2012-06-30 09:24:52 -07:00
Ronald S. Bultje
e9156741a7
dnxhdenc: add space between function argument type and comment.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 19:22:07 +03:00
Ronald S. Bultje
66a02159ea
x86: fmtconvert: add special asm for float_to_int16_interleave_misc_*
...
This gets rid of a variable-length array and a for loop in C code.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-30 19:10:36 +03:00
Mans Rullgard
f2fd167835
x86: vc1: fix and enable optimised loop filter
...
The problem is that the ssse3 psign instruction does the wrong
thing here. Commit ea60dfe
incorrectly removed a macro emulating
this instruction for pre-ssse3 code. However, the emulation is
incorrect, and the code relies on the behaviour of the macro.
Specifically, the psign sets destination elements to zero where
the corresponding source element is zero, whereas the emulation
only negates destination elements where the source is negative.
Furthermore, the PSIGNW_MMX macro in x86util.asm is totally bogus,
which is why the original VC-1 code had an additional right shift
when using it. Since the psign instruction cannot be used here,
skip all the macro hell and use the working instruction sequence
directly.
None of this was noticed due a stray return statement in
ff_vc1dsp_init_mmx() which meant that only the mmx version of the
loop filter was ever used (before being removed in ea60dfe
).
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-30 00:12:05 +01:00
Kostya Shishkov
15358ade15
mss1: validate number of changeable palette entries
2012-06-27 18:05:58 +02:00
Kostya Shishkov
8f5d573a83
mss1: report palette changed when some additional colours were decoded
2012-06-27 18:05:58 +02:00
Christophe Gisquet
a5bfa66df5
x86: fft: replace call to memcpy by a loop
...
The function call was a mess to handle, and memcpy cannot make
the assumptions we do in the new code.
Tested on an IMC sample: 430c -> 370c.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-27 12:49:33 +01:00
Ronald S. Bultje
fa84506177
dxva2: include dxva.h if found
...
Apparently, some build environments require dxva.h even for dxva2,
while others lack this header entirely. Including it conditionally
allows building in both cases.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-27 14:36:27 +03:00
Hendrik Leppkes
ea1c5011b3
dxva2_h264: fix signaling of mbaff frames
...
The MBAFF flag may only be signaled if we're actually dealing with
a full frame, and not singular fields, as it can happen in mixed content.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-26 11:59:24 +03:00
Mans Rullgard
0595334892
x86: fft: elf64: fix PIC build
...
In a 64-bit PIC build, external functions must be called
through the PLT.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 22:58:18 +01:00
Mans Rullgard
8725da49a2
x86: fft: win64: fix stack alignment for memcpy() call
2012-06-25 15:10:39 +01:00
Mans Rullgard
8299260470
x86: fft: convert sse inline asm to yasm
2012-06-25 13:31:00 +01:00
Ronald S. Bultje
8123e0901f
x86: place some inline asm under #if HAVE_INLINE_ASM
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-25 13:23:12 +01:00
Mans Rullgard
0b6f973635
h264: use asm cabac reader under a generic condition
...
This removes a dependency on implementation details from generic
code and allows easy addition of the equivalent optimisation for
other architectures than x86.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-23 22:14:21 +01:00
Diego Biurrun
fe07c9c6b5
x86: Only use optimizations with cmov if the CPU supports the instruction
2012-06-23 16:21:50 +02:00
Mans Rullgard
29686d6ea3
x86: remove unused inline asm macros from dsputil_mmx.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-23 14:14:06 +01:00
Mans Rullgard
685f5438bb
x86: move some inline asm macros to the only places they are used
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-23 14:14:06 +01:00
Anton Khirnov
9ee3334840
libspeexenc: add supported sample rates and channel layouts.
2012-06-22 19:03:24 +02:00
Hendrik Leppkes
f6b4624fcf
utvideo: mark interlaced frames as such
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-22 11:45:51 -04:00
Carl Eugen Hoyos
8875333707
utvideo: Fix interlaced prediction for RGB utvideo.
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-06-22 11:45:25 -04:00
Diego Biurrun
a5a93fa8f5
cosmetics: do not use full path for local headers
2012-06-22 10:49:40 +02:00
Janne Grunau
1d01fee980
fix hardcoded tables compililation caused by missing math constants
...
Add -D_XOPEN_SOURCE=600 to host cflags to make the constants in math.h
available. Include math.h where necessary and remove redundant M_PI
defines.
2012-06-21 18:05:40 +02:00
Ronald S. Bultje
89ffd189ef
twinvq: give massive struct a name.
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-21 14:41:51 +03:00
Anton Khirnov
a50b756280
lavc: remove stats_in from AVCodecContext options table.
...
Its documentation states that it is allocated/freed by the caller, but
it is declared as an AV_OPT_TYPE_STRING AVOption. Since
367732832f
the AVOptions system frees
strings automatically. This can be considered an API break, since it
won't work when the caller doesn't use av_malloc() to allocate the
memory or wants to use the string after closing the codec.
Since there is not much value in this field being an AVOption, the best
solution is to remove it from the options table.
2012-06-21 07:36:44 +02:00
Kostya Shishkov
005c80b645
MS Screen 1 decoder
2012-06-20 19:08:10 +02:00
Alex Converse
43886eaebc
aacdec: Fix popping channel layouts.
...
'channel_layout' not 'channels' from the stored configuration should go
to AVCodecContext's 'channel_layout'.
2012-06-20 09:35:58 -07:00
Mans Rullgard
980f81d961
Use av_gettime() in various places
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-20 17:09:03 +01:00
Mans Rullgard
db7d8fb4ef
dct-test: use emms_c() from libavutil instead of duplicating it
2012-06-20 15:38:00 +01:00
Diego Biurrun
4cc2920dd2
flvdec: remove incomplete, disabled seeking code
2012-06-19 10:42:46 +02:00
Simon A. Eugster
7146177d18
lavc: Extend the documentation for avcodec_init_packet
...
Add a note that pkt->data and pkt->size must be initialized.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-19 10:07:46 +03:00
Justin Ruggles
cb5042d02c
float_dsp: Move vector_fmac_scalar() from libavcodec to libavutil
2012-06-18 18:01:14 -04:00
Martin Storsjö
3641b0489c
Add support for iLBC decoding/encoding via the external library libilbc
...
The library is 3-clause BSD licensed.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:00:35 +03:00
Ronald S. Bultje
db28b01dcf
dirac: replace compound literal with normal initialiser
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-18 19:32:07 +01:00
Mans Rullgard
9fcda25e35
vorbisdec: replace div/mod in loop with a counter
...
2x speedup of surround decoding on Cortex-A9.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-18 11:47:08 +01:00
Ronald S. Bultje
d9669eab0b
dwt: remove variable-length arrays
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-17 23:20:10 +01:00
Diego Biurrun
d246c18ea6
Avoid C99 variable declarations within for statements.
...
We generally do not declare variables within for statements and
there are compilers that choke on such constructs.
2012-06-14 23:36:04 +02:00
Diego Biurrun
af10feadc2
ppc: Rename H.264 optimization template file for consistency.
2012-06-12 23:20:05 +02:00
Justin Ruggles
4795362660
golomb: check remaining bits during unary decoding in get_ur_golomb_jpegls()
...
Fixes infinite loop in FLAC decoding in case of a truncated bitstream due to
the safe bitstream reader returning 0's at the end.
Fixes Bug 310.
CC:libav-stable@libav.org
2012-06-12 14:33:39 -04:00
Michael Niedermayer
bcbb30e2a0
libmp3lame: add missing layout terminator
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-06-10 14:06:50 +02:00
Mans Rullgard
30f515091c
h264: allow cropping to AVCodecContext.width/height
...
Override the frame size from the SPS with AVCodecContext values
if the latter specify a size smaller by less than one macroblock.
This is required for correct cropping of MOV files from Canon cameras.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-09 15:08:52 +01:00
Kostya Shishkov
cac4760bf4
iac: generate codec tables as they are supposed to be
...
Unlike its predecessor, Indeo Audio codec generates tables depending on
sampling rate. Previously decoder used pre-generated tables for 22050 Hz
which obviously doesn't work with other frequencies.
Many thanks to Maxim Poliakovsky for providing all needed information
for this.
2012-06-09 08:38:51 +02:00
Kostya Shishkov
e1a3fa5d3a
indeo4: handle frame type 1 properly
...
It turns out that this frame type is actually intra and should be used as
a reference for interframes too.
2012-06-09 08:38:31 +02:00
Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
2012-06-08 13:14:38 -04:00
Justin Ruggles
98db4e2a4e
PPC: Move types_altivec.h and util_altivec.h from libavcodec to libavutil
...
This will allow for easier implementation of Altivec functions in libraries
other than libavcodec.
2012-06-08 13:14:38 -04:00
Justin Ruggles
94d2b0d2fd
ARM: Move asm.S from libavcodec to libavutil
...
This will allow for easier implementation of ARM-optimized functions in
libraries other than libavcodec.
2012-06-08 13:14:38 -04:00
Mans Rullgard
bc92214e27
vc1dsp: mark put/avg_vc1_mspel_mc() always_inline
...
This ensures that these functions are inlined into the per-position
entry points, allowing constant propagation as needed for proper
optimisation.
18% faster VC1 decoding on Cortex-A9.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-06-08 09:40:07 +01:00
Alex Converse
ecf79c4d3e
vorbis: Validate that the floor 1 X values contain no duplicates.
...
Duplicate values in this vector are explicitly banned by the Vorbis I spec
and cause divide-by-zero crashes later on.
2012-06-05 09:51:51 -07:00
Kostya Shishkov
c6061443f7
Indeo Audio decoder
2012-06-05 18:30:54 +02:00
Kostya Shishkov
34271cabac
imc: make IMDCT support stereo output
...
This will be useful for Indeo Audio decoder which is almost the same
but supports stereo.
2012-06-05 18:28:44 +02:00
Kostya Shishkov
c45e2da617
imc: move channel-specific data into separate context
...
This will be useful for Indeo Audio decoder which is almost the same
but supports stereo.
2012-06-05 18:28:44 +02:00
Kostya Shishkov
b56825c40e
mpc8: fix maximum bands handling
...
In Musepack SV8 codec property tell the maximum nonzero band, but every
frame codes maximum band as a limit (i.e. strictly less than given value).
Synthesis also expects maximum nonzero band, so there's a need to convert
frame maximum band limit value.
2012-06-05 06:55:57 +02:00
Alex Converse
79c8e29a7e
aacdec: Turn PS off when switching to stereo and turn it to implicit when switching to mono.
2012-06-04 15:16:17 -07:00
Kostya Shishkov
96fadfb158
bmv: add stricter checks for invalid decoded length
...
This makes decoder handle random data passed as BMV frame data.
2012-06-03 15:26:11 +02:00
Anton Khirnov
cf3a1948e9
avpacket: fix duplicating side data.
...
Use correct side data size instead of just zeroed field.
2012-06-03 10:22:42 +02:00
Ronald S. Bultje
6163d880c0
vp8: move block coeff arithcoder on stack.
...
This prevents gcc from assuming that contents of it may have changed
between calls to vp56_range_get_prob(), thus preventing countless (and
unnecessary) movs. Decoding of sintel trailer goes from (avg+SG) 9.796
+/- 0.003 to 9.635 +/- 0.010.
2012-05-30 09:08:29 -07:00
Christian Schmidt
d041dec3cb
pcm-mpeg: improve log message wording
...
We support every defined value for channel layout, bitrate and sample depth.
All other values are not unsupported, but reserved.
Update comments to say "are used" instead of "are known or exist".
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-05-30 11:27:29 -04:00
Hendrik Leppkes
c58bcead3b
pcm_mpeg: fix number of consumed bytes to include the header.
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-05-29 16:08:56 +02:00
Vitor Sessak
bac0729d9e
x86: use new schema for ASM macros
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2012-05-29 14:49:45 +02:00
Kostya Shishkov
d073f122ea
imc: some cosmetics
2012-05-25 20:18:02 +02:00
Michael Niedermayer
90290a5150
tqi: Pass errors from the MB decoder
...
This silences some valgrind warnings.
CC: libav-stable@libav.org
Fixes second half of http://ffmpeg.org/trac/ffmpeg/ticket/794
Bug found by: Oana Stratulat
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
(cherry picked from commit f85334f58e
)
2012-05-23 20:42:46 +02:00
Justin Ruggles
713548cbad
x86: lavc: use %if HAVE_AVX guards around AVX functions in yasm code.
...
This is needed for older versions of yasm/nasm that do not support AVX.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-22 20:46:02 +02:00
Diego Biurrun
cc7fac9970
dwt: return errors from ff_slice_buffer_init()
2012-05-22 14:01:56 +02:00
Jordi Ortiz
c89e428ed8
dwt: check malloc calls
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-22 13:27:06 +02:00
Diego Biurrun
3ea5429489
ppc: Drop unused header regs.h
2012-05-22 11:54:53 +02:00
Kieran Kunhya
5ff01259a8
Convert vector_fmul range of functions to YASM and add AVX versions
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-05-21 17:13:05 -04:00
Jordi Ortiz
13a867a63e
dwt: K&R prettyprinting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-05-21 11:14:49 +02:00
Diego Biurrun
4f04f5cc8b
indeo: Make ivi_calc_band_checksum() static, it is only used in one file.
2012-05-20 15:59:30 +02:00
Diego Biurrun
9ccbdc0aca
indeo: Drop unused debug function ivi_check_band().
2012-05-20 15:56:25 +02:00
Diego Biurrun
0c517644b2
avcodec/utils: cast a function argument to shut up a compiler warning
...
libavcodec/utils.c:251: note: expected ‘const uint8_t *’ but argument is of type ‘const short int *’
2012-05-20 15:09:07 +02:00
Diego Biurrun
4466d0e84b
truemotion1: remove disabled code
2012-05-20 15:04:43 +02:00
Kostya Shishkov
f05b69a79f
fix typo in comment
2012-05-20 14:15:14 +02:00
Kostya Shishkov
cf61aaaca1
indeo: check for invalid motion vectors
2012-05-20 11:19:48 +02:00
Kostya Shishkov
9603738221
indeo: check that band output buffer exists
2012-05-20 11:19:48 +02:00
Kostya Shishkov
23ba1503f2
indeo: clear allocated band buffers
2012-05-20 11:19:48 +02:00
Kostya Shishkov
a6e4ac40a6
indeo: track tile macroblock size
2012-05-20 11:19:48 +02:00
Kostya Shishkov
fe7a37c36f
indeo: check custom Huffman tables for errors
2012-05-20 11:19:47 +02:00
Kostya Shishkov
aa372cf470
factor out common decoding code for Indeo 4 and Indeo 5
2012-05-20 11:19:30 +02:00
Kostya Shishkov
b37d945dd4
mp3: fix start band index for block type 2 in 8kHz audio
...
In hybrid frames long window part ends at 36 samples for most of the cases
but at 72 for 8kHz case. For some reason decoder assumed it's 48 or even 36
samples, which caused wrong bitstream decoding for such blocks.
l3_25207.mpg from conformance suite demonstrates it the best.
2012-05-20 10:53:21 +02:00
Mans Rullgard
7d7b40f48a
pcmenc: set correct bitrate value
...
This fixes a bogus bitrate value in the header of WAV files with
alaw/ulaw audio.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-05-17 02:34:57 +01:00