Go to the source code of this file.
|
#define | S(y, x) BAYER_READ(src[(y)*src_stride + BAYER_SIZEOF*(x)]) |
|
#define | T(y, x) (unsigned int)S(y, x) |
|
#define | R(y, x) dst[(y)*dst_stride + (x)*3 + BAYER_R] |
|
#define | G(y, x) dst[(y)*dst_stride + (x)*3 + BAYER_G] |
|
#define | B(y, x) dst[(y)*dst_stride + (x)*3 + BAYER_B] |
|
#define | BAYER_TO_RGB24_COPY |
|
#define | BAYER_TO_RGB24_INTERPOLATE |
|
#define | rgb24toyv12_2x2(src, dstY, dstU, dstV, luma_stride, src_stride, rgb2yuv) ff_rgb24toyv12(src, dstY, dstV, dstU, 2, 2, luma_stride, 0, src_stride, rgb2yuv) |
| invoke ff_rgb24toyv12 for 2x2 pixels More...
|
|
|
static void BAYER_RENAME() | rgb24_copy (const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int width) |
|
static void BAYER_RENAME() | rgb24_interpolate (const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, int width) |
|
static void BAYER_RENAME() | yv12_copy (const uint8_t *src, int src_stride, uint8_t *dstY, uint8_t *dstU, uint8_t *dstV, int luma_stride, int width, int32_t *rgb2yuv) |
|
static void BAYER_RENAME() | yv12_interpolate (const uint8_t *src, int src_stride, uint8_t *dstY, uint8_t *dstU, uint8_t *dstV, int luma_stride, int width, int32_t *rgb2yuv) |
|
#define S |
( |
|
y, |
|
|
|
x |
|
) |
| BAYER_READ(src[(y)*src_stride + BAYER_SIZEOF*(x)]) |
#define T |
( |
|
y, |
|
|
|
x |
|
) |
| (unsigned int)S(y, x) |
#define R |
( |
|
y, |
|
|
|
x |
|
) |
| dst[(y)*dst_stride + (x)*3 + BAYER_R] |
#define G |
( |
|
y, |
|
|
|
x |
|
) |
| dst[(y)*dst_stride + (x)*3 + BAYER_G] |
#define B |
( |
|
y, |
|
|
|
x |
|
) |
| dst[(y)*dst_stride + (x)*3 + BAYER_B] |
#define BAYER_TO_RGB24_COPY |
Value:
R(1, 0) =
S(1, 0) >> BAYER_SHIFT;
\
G(0, 0) =
S(0, 0) >> BAYER_SHIFT;
\
G(1, 1) =
S(1, 1) >> BAYER_SHIFT;
\
G(1, 0) = (
T(0, 0) +
T(1, 1)) >> (1 + BAYER_SHIFT);
\
B(1, 0) =
S(0, 1) >> BAYER_SHIFT;
Definition at line 88 of file bayer_template.c.
Referenced by rgb24_copy(), rgb24_interpolate(), yv12_copy(), and yv12_interpolate().
#define BAYER_TO_RGB24_INTERPOLATE |
Value:R(0, 0) = (
T(-1, 0) +
T(1, 0)) >> (1 + BAYER_SHIFT);
\
G(0, 0) =
S(0, 0) >> BAYER_SHIFT;
\
B(0, 0) = (
T(0, -1) +
T(0, 1)) >> (1 + BAYER_SHIFT);
\
R(0, 1) = (
T(-1, 0) +
T(-1, 2) +
T(1, 0) +
T(1, 2)) >> (2 + BAYER_SHIFT);
\
G(0, 1) = (
T(-1, 1) +
T(0, 0) +
T(0, 2) +
T(1, 1)) >> (2 + BAYER_SHIFT);
\
B(0, 1) =
S(0, 1) >> BAYER_SHIFT;
\
R(1, 0) =
S(1, 0) >> BAYER_SHIFT;
\
G(1, 0) = (
T(0, 0) +
T(1, -1) +
T(1, 1) +
T(2, 0)) >> (2 + BAYER_SHIFT);
\
B(1, 0) = (
T(0, -1) +
T(0, 1) +
T(2, -1) +
T(2, 1)) >> (2 + BAYER_SHIFT);
\
R(1, 1) = (
T(1, 0) +
T(1, 2)) >> (1 + BAYER_SHIFT);
\
G(1, 1) =
S(1, 1) >> BAYER_SHIFT;
\
B(1, 1) = (
T(0, 1) +
T(2, 1)) >> (1 + BAYER_SHIFT);
Definition at line 103 of file bayer_template.c.
Referenced by rgb24_interpolate(), and yv12_interpolate().
#define rgb24toyv12_2x2 |
( |
|
src, |
|
|
|
dstY, |
|
|
|
dstU, |
|
|
|
dstV, |
|
|
|
luma_stride, |
|
|
|
src_stride, |
|
|
|
rgb2yuv |
|
) |
| ff_rgb24toyv12(src, dstY, dstV, dstU, 2, 2, luma_stride, 0, src_stride, rgb2yuv) |