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
Måns Rullgård and Martin Storsjö
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
Mans Rullgard and Alex Converse
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
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
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
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
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
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
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
Mans Rullgard
4555874af1
dnxhd: add regression test for 10-bit
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-21 18:44:46 +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
Mans Rullgard
371584c42b
build: add -L flags before existing LDFLAGS
...
This ensures the linker picks the just built libraries even
if LDFLAGS for some reason contains -L flags pointing at
other directories containing libav libraries.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-21 12:50:31 +01: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
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
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
Mans Rullgard
e23a05ab06
Fix incorrect max_lowres values
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-20 10:19:36 +01: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
Mans Rullgard
b13c6e336c
fate: make vsynth tests depend on only the relevant vref
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-18 18:46:57 +01:00
Mans Rullgard
172ee1da2b
random_seed: use proper #includes
...
Use <> for system headers, add needed math.h, drop unnecessary avutil.h.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-17 20:47:39 +01:00
Mans Rullgard
08e09ed7db
ffmpeg: fix some indentation
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-17 17:10:47 +01:00
Mans Rullgard
e9f98c9022
ffmpeg: fix operation with --disable-avfilter
...
The width and height must be copied from the input before
being used.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-17 17:10:37 +01:00
Mans Rullgard
0218808d49
fate: separate lavf-mxf_d10 test from lavf-mxf
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-17 16:30:49 +01: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
bd39c07688
des: fix #if conditional around P_shuffle
...
CONFIG_SMALL is always defined as 0 or 1.
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
Mans Rullgard
e5902d60ce
aacps: skip some memcpy() if src and dst would be equal
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-15 22:41:52 +01:00
Mans Rullgard
7ce914fb5a
lls: use av_lfg instead of rand() in test program
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-11 21:09:27 +01:00
Mans Rullgard
1fef92fd73
build: remove unnecessary dependency on libs from 'all' target
...
The libs are added to the all target elsewhere, no need to do it
again here.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-11 21:08:52 +01:00
Mans Rullgard
ca9036155d
build: remove unnecessary FFLDFLAGS variable
...
This variable is set to the same value for all directories.
Adding the -L flags directly to LDFLAGS is simpler and achieves
the same thing.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-11 11:39:04 +01:00
Mans Rullgard
1765aacb17
hwaccel: unbreak build
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 23:58:26 +01:00
Mans Rullgard
28e1c97916
build: rework rules for things in the tools dir
...
Declaring tools associated with each library in their respective
makefiles allows these tools to easily depend on the correct
prerequisites and link against the libs they need.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 21:13:38 +01:00
Mans Rullgard
b695256edd
configure: fix --cpu=host with gcc 4.6
...
The output from -v with gcc 4.6 has changed such that the search
pattern matches too soon without making it more strict.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 17:56:06 +01:00
Mans Rullgard
11043d80f6
ARM: use const macro to define constant data in asm
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 17:56:06 +01:00
Mans Rullgard
39c2a6bf44
bitdepth: simplify FUNC/FUNCC macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 17:56:06 +01:00
Mans Rullgard
710b8df949
dsputil: remove ff_emulated_edge_mc macro used in one place
...
This macro can cause problems in conjunction with the bitdepth
template expansion. It was presumably added to keep source
compatibility when high bitdepth support was added. However,
emulated_edge_mc is a dsputil pointer and should not be called
directly, so there is little reason to keep such a macro.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 17:55:58 +01:00
Mans Rullgard
0f6fc8660e
9/10-bit: simplify clipping macros
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-10 17:54:41 +01:00
Mans Rullgard
fdaf1d0640
lls: whitespace cosmetics
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-08 15:03:40 +01:00
Mans Rullgard
ecf86e1a97
dnxhd: prettify tables
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-08 14:16:28 +01:00
Mans Rullgard
2f138f0b7c
build: clean up library installation rules
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-07 17:57:47 +01:00
Mans Rullgard
fce1e43410
ARM: workaround for bug in GNU assembler
...
Some versions of the GNU assembler do not handle 64-bit
immediate operands containing arithmetic. Writing the
value out in full works correctly.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-05 18:39:23 +01:00
Mans Rullgard
6cbf2420b9
PPC: use Altivec IMDCT only for supported sizes
...
The Altivec IMDCT works with size 32 and higher only.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-05 16:01:56 +01:00
Mans Rullgard
3824ef08e0
ARM: allow unaligned buffer in fixed-point NEON FFT4
...
This function is called with only 8-byte alignment from
imdct for size 16. The fft4 function is not called for
the larger FFT or MDCT sizes, so this has no impact on
typical uses.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 20:36:35 +01:00
Mans Rullgard
240c5d6f3b
fate: test more FFT etc sizes
...
This tests sizes from 16 to 4096, not only the default 512.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 18:33:04 +01:00
Mans Rullgard
75a24bef4a
iirfilter: add fate test
...
Change the test program to output text instead of binary files so
it can be compared easily in FATE.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 16:26:26 +01:00
Mans Rullgard
94350ab986
eval: clear Parser instances before using
...
This prevents random values from the stack being used as
"variables" in expressions.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 12:31:47 +01:00
Mans Rullgard
74965f2644
dct-test: remove 'ref' function pointer from tables
...
The reference function can be inferred from the direction of the
transform, no need for storing it with each entry.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 12:31:47 +01:00
Mans Rullgard
9e52a40695
des: allow unaligned input and output buffers
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 11:07:15 +01:00
Mans Rullgard
d04d9f24a0
aes: allow unaligned input and output buffers
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 11:07:15 +01:00
Mans Rullgard
27e7144350
fate: add idct8x8 test
...
This tests the IDCT implementations available in the build.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 10:38:17 +01:00
Mans Rullgard
dbf396d497
dct-test: exit with non-zero status if an IDCT fails
...
IDCTs are partially evaluated according to IEEE 1180-1990 (more or
less). An override is added to the table for implementations known
to not meet the spec requirements. These variants are run but not
checked for accuracy.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 10:38:14 +01:00
Mans Rullgard
883fd9e393
eval: add fate test
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 10:26:24 +01:00
Mans Rullgard
6da812e4ee
eval: make timing optional in test program
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 10:26:21 +01:00
Mans Rullgard
84757de0f5
fate: add 'null' comparison method
...
Setting CMP=null uses stdout from the test as the diff record in
the report without further inspection. This can be useful when
the exit status of the test itself determines success while the
output is informative.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:16 +01:00
Mans Rullgard
7fd2c13888
dct-test: make speed test optional
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:08 +01:00
Mans Rullgard
cf2b4f884d
dct-test: remove is_idct field from tables
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:08 +01:00
Mans Rullgard
4b357756b1
dct-test: split table in two for idct and fdct
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:08 +01:00
Mans Rullgard
4f905a658b
dct-test: simplify calling dct_error()
...
Pass a pointer to the DCT descriptor instead of each field
individually.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:08 +01:00
Mans Rullgard
36fa9ef3e2
dct-test: whitespace cosmetics
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:08 +01:00
Mans Rullgard
412594ed0a
dct-test: remove commented out code
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-04 09:54:08 +01:00
Mans Rullgard
abc78a5a7c
Do not include log.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 21:42:07 +01:00
Mans Rullgard
d49ea4afb4
Do not include pixfmt.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 21:42:07 +01:00
Mans Rullgard
e91709ca17
Do not include rational.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 21:42:06 +01:00
Mans Rullgard
0ebcdf5cda
Do not include mathematics.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 21:42:06 +01:00
Mans Rullgard
ee8aecd23a
Do not include intfloat_readwrite.h in avutil.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 21:42:06 +01:00
Mans Rullgard
add41decd9
Remove return statements following infinite loops without break
...
These statements cannot be reached and are thus not needed.
This removes a number of compiler warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 21:39:07 +01:00
Mans Rullgard
82494cad9d
md5: cosmetics
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 18:19:19 +01:00
Mans Rullgard
fa49fc72d9
md5: use AV_WL32 to write result
...
This is simpler, safer, and removes the undocumented requirement of
aligned output buffer.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 18:19:19 +01:00
Mans Rullgard
8b53755ebd
md5: add fate test
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 18:19:18 +01:00
Mans Rullgard
44496ff2d6
md5: include correct headers
...
This file needs stdint.h but not string.h
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 18:19:18 +01:00
Mans Rullgard
edf4dbff33
md5: fix test program
...
This makes the md5-test program print something meaningful and not
smash the stack.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 18:19:18 +01:00
Mans Rullgard
14376a53b2
crc: add fate test
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 17:17:54 +01:00
Mans Rullgard
03256d96e4
fate: move libavutil test rules to a separate file
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 17:17:16 +01:00
Mans Rullgard
8c94eab011
configure: do not blank $LIBNAME if static libs disabled
...
Whatever reason this was done for no longer applies, and it causes
lots of make warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 17:17:16 +01:00
Mans Rullgard
8f175810be
aes: fix for big endian systems
...
This was missed in 5d20f19 since CONFIG_SMALL was always broken
for big endian.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 13:41:42 +01:00
Mans Rullgard
66fe5970ab
des: reduce number of iterations in test program
...
Testing a million random keys takes annoying long time.
1000 iterations should be enough.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 13:41:31 +01:00
Mans Rullgard
904b5d302d
fate: add DES test
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 13:41:31 +01:00
Mans Rullgard
c9403419b2
avidec: simplify convoluted flow in avi_load_index()
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:16:00 +01:00
Mans Rullgard
6728aaf6d8
ffv1: remove unused tables
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:16:00 +01:00
Mans Rullgard
b27565b143
Remove statements immediately following unconditional jumps
...
This removes a number of compiler warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:15:53 +01:00
Mans Rullgard
050f2b3e7f
mjpeg: remove pointless braces around block of code
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:15:48 +01:00
Mans Rullgard
5d20f19be2
aes: fix invalid array indexing in init code
...
This makes the code work with clang/x86_32 and removes several warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:09:22 +01:00
Mans Rullgard
21accb3bb2
h264: remove assert() immediately following return statement
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:09:15 +01:00
Mans Rullgard
af2ea72495
aes: use direct assignments instead of memcpy() or loops
...
Signed-off-by: Mans Rullgard <mans@mansr.com >
2011-07-03 03:08:52 +01:00