Vittorio Giovara
92b099daf4
swscale: support converting YVYU422 pixel format
11 years ago
Michael Niedermayer
37f69cd93e
swscale: add full bgra64 support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Øyvind Kolås
3e6016622e
swscale: add two spatially stable dithering methods
...
Both of these dithering methods are from http://pippin.gimp.org/a_dither/ for
GIF they can be considered better than bayer (provides more gray-levels), and
spatial stability - often more than twice as good compression and less visual
flicker than error diffusion methods (the methods also avoids error-shadow
artifacts of diffusion dithers).
These methods are similar to blue/green noise type dither masks; but are
simple enough to generate their mask on the fly. They are still research work
in progress; though more expensive to generate masks (which can be used in a
LUT) like 'void and cluster' and similar methods will yield superior results
11 years ago
Michael Niedermayer
1e0e193240
sws: add dither enum
...
This allows specifying more dither algorithms without using up flags and
without ambiguities.
Also initialize the new field based on the flags and use it.
Note, improving the logic of the checks is left to subsequent
commits, this here only switches from flags to enum.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
aa2ba8c99e
swscale: Move extern declarations for tables to swscale_internal.h
...
Also add missing ff_ prefixes where necessary.
11 years ago
Paul B Mahol
b154d203b1
swscale/output: silence warning about undefined 'ASSERT_LEVEL'
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Paul B Mahol
f4b2d3598b
swscale/output: remove unused header
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Michael Niedermayer
e1efacf60b
sws/output: yuv2rgb_write() assert that alpha has the correct value in the tables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
5918b7ac41
sws/output: init A1/A2 so that rgba64 ends with 0xffff in the absence of alpha input
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
c7c71f95f8
replace remaining PIX_FMT_* flags with AV_PIX_FMT_FLAG_*
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
e751481cd8
swscale/output: silence compiler warnings about uninitialized variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
145e644aee
sws/output: remove offset/coef for alpha in rgba64
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Paul B Mahol
e1746d057b
swscale: RGBA64 output
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
7ded017983
sws/output/yuv2gbrp_full_X_c(): silence warning about uninitialized variable
...
clang did not show this one, so i missed it in the last batch
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
8ef453ff83
sws/output: silence warnings about uninitialized use of variables
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Paul B Mahol
5c057433cc
libswscale: GBRAP input & output and GBRAP16 input support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Michael Niedermayer
41ebb64511
swscale/output: fix alpha scale in the new functions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
a4b5e45e2b
sws/output: add yuv2rgb_full_1_c_template()
...
7500->4500 cycles on sandybridge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
9204a7dc8e
sws/output: add +yuv2rgb_full_2_c_template()
...
8100 cycles -> 5800 cycles on sandybridge
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
662664551c
sws/output: factor yuv2rgb_write_full() out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
d6d5ef5534
sws: GBRP9, GBRP10, and GBRP16 output support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
12 years ago
Michael Niedermayer
4eb93bed4e
swscale: GBRP output support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
12 years ago
Michael Niedermayer
e4033d89f1
sws: GBRP9, GBRP10 GBRP12 GBRP14 output support
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
61884d1985
sws: GBRP output support
...
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
5c42078b99
sws: fix ED mono dither black level
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
ca447592b1
sws: rgb/bgr 4/8 error diffusion dither
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
646ade7679
sws: Support error diffusion dither for mono output
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
822d10e7c5
swscale: fix 12 and 14 bit YUV planar output with scaling.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
0a7068fa5d
sws: do not use av_pix_fmt_descriptors directly.
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
Michael Niedermayer
14de55784d
sws/output: use unsigned variables where harmless overflows are expected.
...
signed overflow is undefined in C ...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
5a6e3c039c
swscale: Mark all init functions as av_cold
12 years ago
Michael Niedermayer
22a279539e
yuv2rgb: implement 15/16bit ordered dither
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
bdf28d14f2
sws: extend dither tables by 1 line so simpler arithmetic can be used to address the next line
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
3be0c86b97
sws: remove cliping in yuv2rgb code.
...
This code should not be needed and it slows things down.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Ronald S. Bultje
7f77e9041a
swscale: clip before assigning tables in RGB output functions.
13 years ago
Ronald S. Bultje
4860625236
swscale: fix off-by-one in second coefficient in bilinear filters.
...
If coefficient A is 12-bits xixed-point number "X", then the other
coefficient is (1 << 12) - X, not (1 << 12) - X - 1.
13 years ago
Ronald S. Bultje
9206ac80a5
swscale: handle last pixel if lines have an odd width.
...
Fixes bug 270.
13 years ago
Ronald S. Bultje
bc0bdda77b
swscale: handle complete dimensions for monoblack/white.
...
Fixes bug 269.
13 years ago
Ronald S. Bultje
9487fb4dea
swscale: clip unscaled output intermediates.
...
Fixes bug 240, as well as several integer overflows (visible as glitches)
in other scaling output routines, e.g. YUV422.
13 years ago
Michael Niedermayer
4a9f466b99
Fix alpha overflow when converting from RGBA64 to RGBA.
...
Fixes converting the sample from ticket #503 to 32bit RGB.
13 years ago
Ronald S. Bultje
25c42234a9
swscale: make monowhite/black RGB-independent.
...
Disadvantage is that it no longer allows modifying brightness through
adjustment of the RGB lookup table. Advantage is that now monowhite/black
no longer need to be identified as a RGB format.
13 years ago
Michael Niedermayer
94bc672489
swscale: yuv2422_2_c_template() add cliping.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
f03a029939
swscale: Add cliping to yuv2422_1_c_template()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
ef96bf294d
swscale: Fix rounding in yuv2mono_1_c_template()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
c0c32a3704
swscale: Fix rounding in yuv2rgb_1_c_template()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
2bc610ddc5
swscale: yuv2422_1_c_template: fix rounding
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Diego Biurrun
7331b6e718
Drop some completely unnecessary av_unused attributes.
13 years ago
Ronald S. Bultje
3cac475655
swscale: move YUV2PACKED16WRAPPER() macro down to where it is used.
13 years ago
Ronald S. Bultje
c0b87359b2
swscale: handle gray16 as a "planar" YUV format (Y-only, of course).
...
This allows removing any gray16-specific code, which is essentially
identical to the per-plane code in yuv2plane*().
13 years ago