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
afb9d4e8f1
swscale: fix another yuv range conversion overflow in 16bit scaling.
...
(cherry picked from commit 81cc7d0bd1
)
14 years ago
Ronald S. Bultje
ebb0d60353
swscale: fix yuv range correction when using 16-bit scaling.
...
(cherry picked from commit e0b8fff6c7
)
14 years ago
Ronald S. Bultje
81cc7d0bd1
swscale: fix another yuv range conversion overflow in 16bit scaling.
14 years ago
Mohamed Naufal
705b21a06e
swscale: Unbreak build with --enable-small
...
This fixes building with --enable-small, by using the correct
variable name.
Signed-off-by: Martin Storsjö <martin@martin.st>
14 years ago
Ronald S. Bultje
e0b8fff6c7
swscale: fix yuv range correction when using 16-bit scaling.
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
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
dff5a83532
swscale: re-add support for non-native endianness.
...
This works through some non-obvious hacks in utils.c.
14 years ago
Ronald S. Bultje
3d3c814937
swscale: disentangle yuv2rgbX_c_full() into small functions.
...
This is part of the Great Evil Plan to simplify swscale.
14 years ago
Ronald Bultje
6fba14eecb
swscale: split yuv2packed[12X]_c() remainders into small functions.
...
This is 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
Michael Niedermayer
15b4f6449d
swscale: fix mono input for width%8
...
Fixes ticket193
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
4e05830205
swscale: remove misplaced comment.
...
The comment should have been placed only in
yuv2rgb48_X_c_template, not yuv2rgb48_1_c_template.
14 years ago
Ronald S. Bultje
9f63211175
swscale: split out RGB48 output functions from yuv2packed[12X]_c().
...
This is part of the Great Evil Plan to simplify swscale. Note that
you'll see some code duplication between the output functions for
different RGB variants, and even between packed-YUV and RGB
variants. This is intentional because it improves readability.
14 years ago
Michael Niedermayer
0af8a71d66
swscale: fix JPEG-range YUV scaling artifacts.
...
YUV planes were marked as uint16_t, but they contained signed data.
Fixes issue 1108 and 675.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
103278f7b0
libavutil/swscale: YUV444P10/YUV444P9 support.
...
Also add missing glue code for recently added YUV422P10 formats
to swscale.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
14 years ago
Ronald S. Bultje
af2faf2076
swscale: split YUYV output out of yuv2packed[12X]_c().
...
This is part of the Great Evil Plan to simplify swscale.
14 years ago
Ronald S. Bultje
6b105e3ee6
swscale: extract monowhite/black output from yuv2packed[12X]_c().
...
This is part of the Great Evil Plan to simplify swscale.
14 years ago
Ronald S. Bultje
6d4d483eee
swscale: de-macro'ify RGB15/16/32 input functions.
...
Inline functions are easier to read, maintain, modify and test,
which justifies the slightly increased source size. This patch
also adds support for non-native endianness RGB15/16 and fixes
isSupportedOutput() to no longer claim that we support writing
non-native RGB565/555/444.
14 years ago
Ronald S. Bultje
e2babb9b47
swscale: rearrange code.
...
This way the code in the file is less cluttered all-over-the-
place.
14 years ago
Ronald S. Bultje
dbd3183935
swscale: change 48bit RGB input macros to inline functions.
...
Inline functions are slightly larger in source code, but
are easier to handle in source code editors. The binary code
generated is the same.
14 years ago
Ronald S. Bultje
f30ee65700
swscale: change 9/10bit YUV input macros to inline functions.
...
Inline functions are slightly larger in source code, but
are easier to handle in source code editors. The binary code
generated is the same.
14 years ago
Ronald S. Bultje
aa39f5f6d6
swscale: extract gray16 output functions from yuv2packed[12X]().
...
This is part of the Great Evil Plan to simplify swscale.
14 years ago
Ronald S. Bultje
f1e0b90c64
swscale: use standard clipping functions.
...
This generates better code on some non-x86 architectures.
14 years ago
Ronald S. Bultje
e458b53605
swscale: merge macros that are used only once.
...
This reduces source code size without affecting the binary.
14 years ago
Ronald S. Bultje
6e5a8d3c9a
swscale: fix function declarations in swscale.c.
...
Remove inline keyword from functions that are never inlined.
Use av_always_inline for functions that should be force-inlined
for performance reasons. Use av_cold for init functions.
14 years ago
Ronald S. Bultje
9d84dfce93
swscale: remove unused function.
...
Use of this wrapper was removed in a previous patch, but I
forgot to actually remove the function itself.
14 years ago
Ronald S. Bultje
edeb56fa31
swscale: remove duplicate conversion routine in swScale().
14 years ago
Ronald S. Bultje
df91d09174
swscale: integrate yuv2nv12X_C into yuv2yuvX() function pointers.
14 years ago
Ronald S. Bultje
ca364a5b43
swscale: extract SWS_FULL_CHR_H_INT conditional into init code.
14 years ago
Ronald S. Bultje
b3b28b080f
swscale: cosmetics.
14 years ago
Ronald S. Bultje
ea28175312
swscale: remove alp/chr/lumSrcOffset.
...
They are hacks added to reuse the same scaling function for
different formats and they may cause problems when SIMD
implementation of the same functions are used along with pure
C functions.
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
Michael Niedermayer
7a8228c05e
sws: make dither_scale const
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Michael Niedermayer
ec4207c46a
swscale: factor should_dither out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Ronald S. Bultje
6af2801088
swscale: split swscale.c in unscaled and generic conversion routines.
...
This duplicates the function fillPlane().
14 years ago
Ronald S. Bultje
2762ee3034
swscale: cosmetics.
...
Remove duplicate "inC" and "_c" functions that do the same thing;
give each function that handles data and acts as a function pointer
a "_c" suffix; remove "_c" suffix from functions that are inherently
not optimizable. Remove inline keyword from functions that are only
used through function pointers.
14 years ago
Ronald S. Bultje
1674bd2abe
swscale: integrate (literally) swscale_template.c in swscale.c.
14 years ago
Ronald S. Bultje
983260b0a4
swscale: split out x86/swscale_template.c from swscale.c.
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
Michael Niedermayer
6713989c23
swscale: dither for planar yuv outputs
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Michael Niedermayer
201549d1a9
swscale: More accurate rounding in YSCALE_YUV_2_PACKEDX_FULL_C()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
14 years ago
Reimar Döffinger
3d0424f2ff
Add "const" to avoid "initialization discards qualifiers" warning.
14 years ago
Stefano Sabatini
e1197b9e17
swscale: remove sws_format_name()
...
Use av_get_pix_fmt_name() instead.
14 years ago
Michael Niedermayer
986f0d86cb
Commits that could not be pulled earlier due to bugs.
...
commit 93681fbd50
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 11:32:32 2011 -0400
swscale: fix compile on ppc.
commit e758573a88
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 10:36:47 2011 -0400
swscale: fix compile on x86-32.
commit 0f4eb8b043
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Thu May 26 09:17:52 2011 -0400
swscale: remove VOF/VOFW.
commit b4a224c5e4
Author: Ronald S. Bultje <rsbultje@gmail.com>
Date: Wed May 25 14:30:09 2011 -0400
swscale: split chroma buffers into separate U/V planes.
Preparatory step to implement support for sizes > VOFW.
14 years ago