Diego Biurrun
ac56ff9cc9
build: non-x86: Only compile mpegvideo optimizations when necessary
12 years ago
Mans Rullgard
f79364b2c3
ppc: fix Altivec build with old compilers
...
The vec_splat() intrinsic requires a constant argument for the
element number, and the code relies on the compiler unrolling
the loop to provide this. Manually unrolling the loop avoids
this reliance and works with all compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Pavel Koshevoy
9425dc3dba
Fix build failure on osx 10.5.8 ppc
...
Second parameter to vec_splat must be a literal, not a variable
value. Therefore the second nested for-loop in
float_to_int16_stride_altivec had to be unrolled.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Mans Rullgard
642b4efaf7
ppc: fmtconvert: kill VLA in float_to_int16_interleave_altivec()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Derek Buitenhuis
e62e455f7b
dsputil/me/pixels: Actually use av_restrict
...
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Martin Storsjö
33e112847d
Add more missing includes after removing the implicit common.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
70766c2182
Add some more missing includes after removing the implicit common.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
1d9c2dc89a
Don't include common.h from avutil.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Justin Ruggles
a35738f424
dsputil: ppc: cosmetics: pretty-print
13 years ago
Mans Rullgard
ffdd93a25e
ppc: fix build with altivec disabled
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
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>
13 years ago
Diego Biurrun
af10feadc2
ppc: Rename H.264 optimization template file for consistency.
13 years ago
Justin Ruggles
d5a7229ba4
Add a float DSP framework to libavutil
...
Move vector_fmul() from DSPContext to AVFloatDSPContext.
13 years ago
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.
13 years ago
Diego Biurrun
3ea5429489
ppc: Drop unused header regs.h
13 years ago
Mans Rullgard
c81d1e2390
ppc: add const where needed in scalarproduct_int16_altivec()
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
ce82dad7eb
ppc: remove shift parameter from scalarproduct_int16_altivec()
...
The shift parameter was removed from this interface in 7e1ce6a
.
This updates the Altivec implementation to match.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
4c387c7070
ppc: dsputil: do unaligned block accesses correctly
...
To load unaligned vector data in the usual way, explicit vec_ld()
should be used rather than dereferencing a pointer to a vector type.
When the VSX extension is enabled, gcc may compile vector pointer
dereferences using the VSX lxvw4x instruction instead of the lvx
instruction typically used with Altivec/VMX. As the behaviour of
these instructions with unaligned addresses differs, it is important
that only lvx is used here.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Michael Niedermayer
70d54392f5
lowres2 support.
...
The new lowres support is limited to decoders where lowres decoding
is possible in high quality.
I was not able to measure any speed difference, but if one is found
the 2-3 lines that might affect speed can be made compile time conditional
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Mans Rullgard
2bcbd98459
Remove lowres video decoding
...
This feature is complex, of questionable utility, and slows down
normal decoding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Diego Biurrun
0f53601ac6
ppc: drop unused function dct_quantize_altivec()
...
This also allows dropping some PPC-specific ugliness from dsputil.[ch].
13 years ago
Diego Biurrun
7bb3a302fe
build: Consistently handle conditional compilation for all optimization OBJS.
13 years ago
Diego Biurrun
02c39f056a
ppc: Add/remove a number of const qualifiers to fix related warnings.
13 years ago
Diego Biurrun
72ccfb3cb7
build: ppc: drop stray leftover backslash
13 years ago
Diego Biurrun
ad0e31f134
build: prettyprinting cosmetics
13 years ago
Ronald S. Bultje
bd66f073fe
vp8: change int stride to ptrdiff_t stride.
...
On 64bit platforms with 32bit int, this means we won't have to sign-
extend the integer anymore.
13 years ago
Martin Storsjö
210f72845c
ppc: Add ff_ prefix to nonstatic symbols
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
efd29844eb
mpegvideo: Add ff_ prefix to nonstatic functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Martin Storsjö
9cf0841ef3
dsputil: Add ff_ prefix to the dsputil*_init* functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Diego Biurrun
0bba26466f
cosmetics: Delete empty lines at end of file.
13 years ago
Diego Biurrun
32f3c541bc
doxygen: Do not include license boilerplates in Doxygen comment blocks.
13 years ago
Diego Biurrun
3dc99a18d4
cosmetics: drop some pointless parentheses
13 years ago
Diego Biurrun
ff159e7816
doxygen: Replace '\' by '@' in Doxygen markup tags.
13 years ago
Mans Rullgard
b034c95cc1
h264: fix ppc/altivec build
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Ronald S. Bultje
c2d337429c
H264: change weight/biweight functions to take a height argument.
...
Neon parts by Mans Rullgard <mans@mansr.com>.
13 years ago
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>
13 years ago
Michael Niedermayer
8045af65d4
ppc: fix usage of dsp_mask
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
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>
13 years ago
Michael Niedermayer
2aaf32f52f
mpegvideo: support encoding with chroma intra tables that differ from luma.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Baptiste Coudurier
231a6df9ea
h264dec: h264: 4:2:2 intra decoding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
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>
14 years ago
Mans Rullgard
a617c6aaa3
dsputil: update per-arch init funcs for non-h264 high bit depth
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
874f1a901d
dsputil: template get_pixels() for different bit depths
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
0a72533e98
jfdctint: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Mans Rullgard
e7a972e113
simple_idct: add 10-bit version
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Diego Biurrun
21aed0ed92
ppc: remove disabled code
14 years ago
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>
14 years ago
Kim Nguyen
2d16394f97
ppc32: Fix movrel
...
Fixes ticket272
14 years ago
Jason Garrett-Glaser
c90b94424c
4:4:4 H.264 decoding support
...
Note: this is 4:4:4 from the 2007 spec revision, not the previous (now deprecated) 4:4:4 mode in H.264.
14 years ago
Diego Biurrun
1f6b9cc31d
Replace some nonstandard DEBUG_* preprocessor directives by plain DEBUG.
14 years ago