Rong Yan
e74e14608f
libswscale/ppc/swscale_altivec.c : fix hScale_altivec_real() yuv2planeX_16_altivec() yuv2planeX_8() for little endian
...
add marcos GET_LS() GET_VF() LOAD_FILTER() LOAD_L1() GET_VF4() FIRST_LOAD() UPDATE_PTR() LOAD_SRCV() LOAD_SRCV8() GET_VFD() for POWER LE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Sean McGovern
01a82f1dc5
ppc: don't return a value from a function declared void
...
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Sean McGovern
f1f728cbe4
ppc: don't return a value from a function declared void
...
Signed-off-by: Martin Storsjö <martin@martin.st>
11 years ago
Diego Biurrun
a6b6501185
ppc: cosmetics: Consistently format CPU flag detection invocations
11 years ago
Diego Biurrun
1909f6b1b6
swscale: cosmetics: Drop silly camelCase from swScale function pointer name
11 years ago
Diego Biurrun
4e0799a4d0
swscale: Add some missing av_cold to arch-specific init functions
11 years ago
Diego Biurrun
3aa682f253
swscale: consistent names for arch-specific acceleration functions
11 years ago
Diego Biurrun
c2503d9c8a
swscale: ppc: Hide arch-specific initialization details
...
Also give consistent names to init functions.
11 years ago
Diego Biurrun
c011ceef78
swscale: ppc: Remove commented-out define cruft
12 years ago
Diego Biurrun
7f75f2f2bd
ppc: Drop unnecessary ff_ name prefixes from static functions
12 years ago
Diego Biurrun
511cf612ac
miscellaneous typo fixes
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
Mans Rullgard
07eb7e20af
ppc: swscale: rework yuv2planeX_altivec()
...
This gets rid of the variable-length scratch buffer by filtering 16
pixels at a time and writing directly to the destination. The extra
loads this requires to load the source values are compensated by not
doing a round-trip to memory before shifting.
Signed-off-by: Mans Rullgard <mans@mansr.com>
12 years ago
Diego Biurrun
5a6e3c039c
swscale: Mark all init functions as av_cold
13 years ago
Pavel Koshevoy
665100c2f1
Fix destination row striding in altivec_yuv2_bgr24.
...
Misaligned row artifacts showed up when a 624x352 frame was converted
to BGR24 format. When advancing to the next row the destination linesize
was added to the last output pointer position which was not linesize aligned,
resulting in a distorted picture.
Signed-off-by: Pavel Koshevoy <pavel@apple.aragog.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fa36f33422
sws: support 12&14 bit planar colorspaces
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
baaab6069a
build: Move all arch OBJS declarations into arch subdirectory Makefiles.
13 years ago
Diego Biurrun
02c39f056a
ppc: Add/remove a number of const qualifiers to fix related warnings.
13 years ago
Ronald S. Bultje
2254b559cb
swscale: make filterPos 32bit.
...
Fixes overflows for large image sizes.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
13 years ago
Diego Biurrun
36697be187
swscale: K&R formatting cosmetics for PowerPC code (part II/II)
13 years ago
Diego Biurrun
04217de4d6
swscale: K&R formatting cosmetics for PowerPC code (part I/II)
13 years ago
Diego Biurrun
a2e40cd3e2
swscale: ppc: Add missing header #includes to pass 'make checkheaders'.
13 years ago
Diego Biurrun
33ad8c3cab
cosmetics: Remove some unnecessary block braces.
13 years ago
Diego Biurrun
83890c66c4
swscale: K&R reformatting cosmetics for header files
13 years ago
Diego Biurrun
3d72a6f19e
swscale: Use standard multiple inclusion guards in ppc/ header files.
13 years ago
Ronald S. Bultje
f48b12e0a6
swscale: update altivec yuv2planeX asm to new per-plane API.
13 years ago
Kieran Kunhya
ff7913aef1
Split up yuv2yuvX functions
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
13 years ago
Mans Rullgard
d853e571ad
ppc: fix some pointer to integer casts
...
Use uintptr_t instead of plain int. Without this change, the
comparisons will come out wrong for pointers in certain ranges.
Fixes random failures on ppc64. Also fixes some compiler warnings.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Ronald S. Bultje
3f04ab4fcd
swscale: split hScale() function pointer into h[cy]Scale().
...
This allows using more specific implementations for chroma/luma, e.g.
we can make assumptions on filterSize being constant, thus avoiding
that test at runtime.
14 years ago
Luca Barbato
3304a1e69a
swscale: add dithering to yuv2yuvX_altivec_real
...
It just does that part in scalar form, I doubt using a vector store
over 2 array would speed it up particularly.
The function should be written to not use a scratch buffer.
14 years ago
Ronald S. Bultje
28c1115a91
swscale: use 15-bit intermediates for 9/10-bit scaling.
14 years ago
Ronald S. Bultje
948ccdadf4
swscale: for >8bit scaling, read in native bit-depth.
...
For 9/10bit, it means we don't have to upscale to 16bit before
actual scaling or pixel format conversion, and thus a performance
gain.
14 years ago
Ronald S. Bultje
8a8d0ce208
swscale: for >8bit scaling, read in native bit-depth.
...
For 9/10bit, it means we don't have to upscale to 16bit before
actual scaling or pixel format conversion, and thus a performance
gain.
14 years ago
Ronald S. Bultje
45f6ffe5e9
swscale: implement >8bit scaling support.
...
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
14 years ago
Ronald S. Bultje
ef1ee362b3
swscale: implement >8bit scaling support.
...
This means that precision is retained when scaling between sample
formats with >8 bits per component (48bit RGB, 16bit grayscale,
9/10/16bit YUV).
14 years ago
Mans Rullgard
635930d466
PPC: swscale: disable altivec functions for unsupported formats
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
14 years ago
Ronald S. Bultje
13a099799e
swscale: change prototypes of scaled YUV output functions.
...
Remove unused variables "flags" and "dstFormat" in yuv2packed1,
merge source rows per plane for yuv2packed[12], and make every
source argument int16_t (some where invalidly set to uint16_t).
This prevents stack pollution and is part of the Great Evil Plan
to simplify swscale.
14 years ago
Ronald S. Bultje
dc179ec819
swscale: split yuv2packedX_altivec in smaller functions.
...
This will likely lead to a considerable performance boost,
since it removes a branch from the inner loop. Part of the
Great Evil Plan to simplify swscale.
14 years ago
Ronald S. Bultje
97535ffb97
swscale: remove unused xInc/srcW arguments from hScale().
14 years ago
Ronald S. Bultje
ca364a5b43
swscale: extract SWS_FULL_CHR_H_INT conditional into init code.
14 years ago
Ronald S. Bultje
bda9b20fa4
swscale: un-special-case yuv2yuvX16_c().
...
Make yuv2yuvX16_c a function pointer for yuv2yuvX(), so that the
function pointer becomes bitdepth-independent.
14 years ago
Ronald S. Bultje
075d0ae72c
swscale: enable hScale_altivec_real.
14 years ago
Ronald S. Bultje
67d80a5421
swscale: split out ppc _template.c files from main swscale.c.
14 years ago
Ronald S. Bultje
a3e9bb5dee
swscale: remove indirections in ppc/swscale_template.c.
14 years ago
Ronald S. Bultje
0e5d31b16b
swscale: split out unscaled altivec YUV converters in their own file.
14 years ago
Ronald S. Bultje
0d793db1b0
swscale: remove unused COMPILE_TEMPLATE_ALTIVEC.
14 years ago
Reimar Döffinger
3c194f390f
Replace "vector const" by "const vector" otherwise gcc 4.6.0 fails.
...
Given that this compiles fine with the Apple compiler that is probably
a gcc bug, but "const vector" is nicer anyway.
14 years ago
Diego Biurrun
f635a233e3
swscale: Remove unused variable.
14 years ago
Reimar Döffinger
b7b62c3a53
Include pixdesc.h for av_get_pix_fmt_name.
...
Fixes compilation on PPC with Altivec enabled.
14 years ago
Stefano Sabatini
e1197b9e17
swscale: remove sws_format_name()
...
Use av_get_pix_fmt_name() instead.
14 years ago