FFmpeg
|
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include "libavutil/cpu.h"
#include "libavutil/bswap.h"
#include "config.h"
#include "rgb2rgb.h"
#include "swscale.h"
#include "swscale_internal.h"
#include "libavutil/pixdesc.h"
Go to the source code of this file.
Macros | |
#define | LOADCHROMA(i) |
#define | PUTRGB(dst, src, i) |
#define | PUTRGB24(dst, src, i) |
#define | PUTBGR24(dst, src, i) |
#define | PUTRGBA(dst, ysrc, asrc, i, s) |
#define | PUTRGB48(dst, src, i) |
#define | PUTBGR48(dst, src, i) |
#define | YUV2RGBFUNC(func_name, dst_type, alpha) |
#define | ENDYUV2RGBLINE(dst_delta, ss) |
#define | ENDYUV2RGBFUNC() |
#define | CLOSEYUV2RGBFUNC(dst_delta) |
#define | PUTRGB16(dst, src, i, o) |
#define | PUTRGB15(dst, src, i, o) |
#define | PUTRGB12(dst, src, i, o) |
#define | PUTRGB8(dst, src, i, o) |
#define | PUTRGB4D(dst, src, i, o) |
#define | PUTRGB4DB(dst, src, i, o) |
#define | PUTRGB1(out, src, i, o) |
#define | ALLOC_YUV_TABLE(x) |
Functions | |
const int * | sws_getCoefficients (int colorspace) |
Return a pointer to yuv<->rgb coefficients for the given colorspace suitable for sws_setColorspaceDetails(). More... | |
LOADCHROMA (0) | |
PUTRGB48 (dst_1, py_1, 0) | |
PUTRGB48 (dst_2, py_2, 0) | |
LOADCHROMA (1) | |
PUTRGB48 (dst_2, py_2, 1) | |
PUTRGB48 (dst_1, py_1, 1) | |
LOADCHROMA (2) | |
PUTRGB48 (dst_1, py_1, 2) | |
PUTRGB48 (dst_2, py_2, 2) | |
LOADCHROMA (3) | |
PUTRGB48 (dst_2, py_2, 3) | |
PUTRGB48 (dst_1, py_1, 3) | |
PUTBGR48 (dst_1, py_1, 0) | |
PUTBGR48 (dst_2, py_2, 0) | |
PUTBGR48 (dst_2, py_2, 1) | |
PUTBGR48 (dst_1, py_1, 1) | |
PUTBGR48 (dst_1, py_1, 2) | |
PUTBGR48 (dst_2, py_2, 2) | |
PUTBGR48 (dst_2, py_2, 3) | |
PUTBGR48 (dst_1, py_1, 3) | |
PUTRGB (dst_1, py_1, 0) | |
PUTRGB (dst_2, py_2, 0) | |
PUTRGB (dst_2, py_2, 1) | |
PUTRGB (dst_1, py_1, 1) | |
PUTRGB (dst_1, py_1, 2) | |
PUTRGB (dst_2, py_2, 2) | |
PUTRGB (dst_2, py_2, 3) | |
PUTRGB (dst_1, py_1, 3) | |
PUTRGBA (dst_1, py_1, pa_1, 0, 24) | |
PUTRGBA (dst_2, py_2, pa_2, 0, 24) | |
PUTRGBA (dst_2, py_2, pa_2, 1, 24) | |
PUTRGBA (dst_1, py_1, pa_1, 1, 24) | |
PUTRGBA (dst_1, py_1, pa_1, 2, 24) | |
PUTRGBA (dst_2, py_2, pa_2, 2, 24) | |
PUTRGBA (dst_2, py_2, pa_2, 3, 24) | |
PUTRGBA (dst_1, py_1, pa_1, 3, 24) | |
PUTRGBA (dst_1, py_1, pa_1, 0, 0) | |
PUTRGBA (dst_2, py_2, pa_2, 0, 0) | |
PUTRGBA (dst_2, py_2, pa_2, 1, 0) | |
PUTRGBA (dst_1, py_1, pa_1, 1, 0) | |
PUTRGBA (dst_1, py_1, pa_1, 2, 0) | |
PUTRGBA (dst_2, py_2, pa_2, 2, 0) | |
PUTRGBA (dst_2, py_2, pa_2, 3, 0) | |
PUTRGBA (dst_1, py_1, pa_1, 3, 0) | |
PUTRGB24 (dst_1, py_1, 0) | |
PUTRGB24 (dst_2, py_2, 0) | |
PUTRGB24 (dst_2, py_2, 1) | |
PUTRGB24 (dst_1, py_1, 1) | |
PUTRGB24 (dst_1, py_1, 2) | |
PUTRGB24 (dst_2, py_2, 2) | |
PUTRGB24 (dst_2, py_2, 3) | |
PUTRGB24 (dst_1, py_1, 3) | |
PUTBGR24 (dst_1, py_1, 0) | |
PUTBGR24 (dst_2, py_2, 0) | |
PUTBGR24 (dst_2, py_2, 1) | |
PUTBGR24 (dst_1, py_1, 1) | |
PUTBGR24 (dst_1, py_1, 2) | |
PUTBGR24 (dst_2, py_2, 2) | |
PUTBGR24 (dst_2, py_2, 3) | |
PUTBGR24 (dst_1, py_1, 3) | |
PUTRGB16 (dst_1, py_1, 0, 0) | |
PUTRGB16 (dst_2, py_2, 0, 0+8) | |
PUTRGB16 (dst_2, py_2, 1, 2+8) | |
PUTRGB16 (dst_1, py_1, 1, 2) | |
PUTRGB16 (dst_1, py_1, 2, 4) | |
PUTRGB16 (dst_2, py_2, 2, 4+8) | |
PUTRGB16 (dst_2, py_2, 3, 6+8) | |
PUTRGB16 (dst_1, py_1, 3, 6) | |
PUTRGB15 (dst_1, py_1, 0, 0) | |
PUTRGB15 (dst_2, py_2, 0, 0+8) | |
PUTRGB15 (dst_2, py_2, 1, 2+8) | |
PUTRGB15 (dst_1, py_1, 1, 2) | |
PUTRGB15 (dst_1, py_1, 2, 4) | |
PUTRGB15 (dst_2, py_2, 2, 4+8) | |
PUTRGB15 (dst_2, py_2, 3, 6+8) | |
PUTRGB15 (dst_1, py_1, 3, 6) | |
PUTRGB12 (dst_1, py_1, 0, 0) | |
PUTRGB12 (dst_2, py_2, 0, 0+8) | |
PUTRGB12 (dst_2, py_2, 1, 2+8) | |
PUTRGB12 (dst_1, py_1, 1, 2) | |
PUTRGB12 (dst_1, py_1, 2, 4) | |
PUTRGB12 (dst_2, py_2, 2, 4+8) | |
PUTRGB12 (dst_2, py_2, 3, 6+8) | |
PUTRGB12 (dst_1, py_1, 3, 6) | |
PUTRGB8 (dst_1, py_1, 0, 0) | |
PUTRGB8 (dst_2, py_2, 0, 0+8) | |
PUTRGB8 (dst_2, py_2, 1, 2+8) | |
PUTRGB8 (dst_1, py_1, 1, 2) | |
PUTRGB8 (dst_1, py_1, 2, 4) | |
PUTRGB8 (dst_2, py_2, 2, 4+8) | |
PUTRGB8 (dst_2, py_2, 3, 6+8) | |
PUTRGB8 (dst_1, py_1, 3, 6) | |
PUTRGB4D (dst_1, py_1, 0, 0) | |
PUTRGB4D (dst_2, py_2, 0, 0+8) | |
PUTRGB4D (dst_2, py_2, 1, 2+8) | |
PUTRGB4D (dst_1, py_1, 1, 2) | |
PUTRGB4D (dst_1, py_1, 2, 4) | |
PUTRGB4D (dst_2, py_2, 2, 4+8) | |
PUTRGB4D (dst_2, py_2, 3, 6+8) | |
PUTRGB4D (dst_1, py_1, 3, 6) | |
PUTRGB4DB (dst_1, py_1, 0, 0) | |
PUTRGB4DB (dst_2, py_2, 0, 0+8) | |
PUTRGB4DB (dst_2, py_2, 1, 2+8) | |
PUTRGB4DB (dst_1, py_1, 1, 2) | |
PUTRGB4DB (dst_1, py_1, 2, 4) | |
PUTRGB4DB (dst_2, py_2, 2, 4+8) | |
PUTRGB4DB (dst_2, py_2, 3, 6+8) | |
PUTRGB4DB (dst_1, py_1, 3, 6) | |
PUTRGB1 (out_1, py_1, 0, 0) | |
PUTRGB1 (out_2, py_2, 0, 0+8) | |
PUTRGB1 (out_2, py_2, 1, 2+8) | |
PUTRGB1 (out_1, py_1, 1, 2) | |
PUTRGB1 (out_1, py_1, 2, 4) | |
PUTRGB1 (out_2, py_2, 2, 4+8) | |
PUTRGB1 (out_2, py_2, 3, 6+8) | |
PUTRGB1 (out_1, py_1, 3, 6) | |
SwsFunc | ff_yuv2rgb_get_func_ptr (SwsContext *c) |
static void | fill_table (uint8_t *table[256+2 *YUVRGB_TABLE_HEADROOM], const int elemsize, const int64_t inc, void *y_tab) |
static void | fill_gv_table (int table[256+2 *YUVRGB_TABLE_HEADROOM], const int elemsize, const int64_t inc) |
static uint16_t | roundToInt16 (int64_t f) |
av_cold int | ff_yuv2rgb_c_init_tables (SwsContext *c, const int inv_table[4], int fullRange, int brightness, int contrast, int saturation) |
Variables | |
const int32_t | ff_yuv2rgb_coeffs [11][4] |
pa_1 = 8 | |
pa_2 = 8 | |
const uint8_t * | d16 = ff_dither_2x2_8[y & 1] |
const uint8_t * | e16 = ff_dither_2x2_4[y & 1] |
const uint8_t * | f16 = ff_dither_2x2_8[(y & 1)^1] |
const uint8_t * | d32 = ff_dither_8x8_32[yd & 7] |
const uint8_t * | d64 = ff_dither_8x8_73[yd & 7] |
const uint8_t * | d128 = ff_dither_8x8_220[yd & 7] |
int | acc |
char | out_1 = 0 |
char | out_2 = 0 |
g = c->table_gU[128 + YUVRGB_TABLE_HEADROOM] + c->table_gV[128 + YUVRGB_TABLE_HEADROOM] | |
dst_1 [0] = out_1 | |
dst_2 [0] = out_2 | |
#define LOADCHROMA | ( | i | ) |
#define YUV2RGBFUNC | ( | func_name, | |
dst_type, | |||
alpha | |||
) |
#define ENDYUV2RGBLINE | ( | dst_delta, | |
ss | |||
) |
#define ENDYUV2RGBFUNC | ( | ) |
#define CLOSEYUV2RGBFUNC | ( | dst_delta | ) |
#define ALLOC_YUV_TABLE | ( | x | ) |
LOADCHROMA | ( | 0 | ) |
PUTRGB48 | ( | dst_1 | , |
py_1 | , | ||
0 | |||
) |
PUTRGB48 | ( | dst_2 | , |
py_2 | , | ||
0 | |||
) |
LOADCHROMA | ( | 1 | ) |
PUTRGB48 | ( | dst_2 | , |
py_2 | , | ||
1 | |||
) |
PUTRGB48 | ( | dst_1 | , |
py_1 | , | ||
1 | |||
) |
LOADCHROMA | ( | 2 | ) |
PUTRGB48 | ( | dst_1 | , |
py_1 | , | ||
2 | |||
) |
PUTRGB48 | ( | dst_2 | , |
py_2 | , | ||
2 | |||
) |
LOADCHROMA | ( | 3 | ) |
PUTRGB48 | ( | dst_2 | , |
py_2 | , | ||
3 | |||
) |
PUTRGB48 | ( | dst_1 | , |
py_1 | , | ||
3 | |||
) |
PUTBGR48 | ( | dst_1 | , |
py_1 | , | ||
0 | |||
) |
PUTBGR48 | ( | dst_2 | , |
py_2 | , | ||
0 | |||
) |
PUTBGR48 | ( | dst_2 | , |
py_2 | , | ||
1 | |||
) |
PUTBGR48 | ( | dst_1 | , |
py_1 | , | ||
1 | |||
) |
PUTBGR48 | ( | dst_1 | , |
py_1 | , | ||
2 | |||
) |
PUTBGR48 | ( | dst_2 | , |
py_2 | , | ||
2 | |||
) |
PUTBGR48 | ( | dst_2 | , |
py_2 | , | ||
3 | |||
) |
PUTBGR48 | ( | dst_1 | , |
py_1 | , | ||
3 | |||
) |
PUTRGB | ( | dst_1 | , |
py_1 | , | ||
0 | |||
) |
PUTRGB | ( | dst_2 | , |
py_2 | , | ||
0 | |||
) |
PUTRGB | ( | dst_2 | , |
py_2 | , | ||
1 | |||
) |
PUTRGB | ( | dst_1 | , |
py_1 | , | ||
1 | |||
) |
PUTRGB | ( | dst_1 | , |
py_1 | , | ||
2 | |||
) |
PUTRGB | ( | dst_2 | , |
py_2 | , | ||
2 | |||
) |
PUTRGB | ( | dst_2 | , |
py_2 | , | ||
3 | |||
) |
PUTRGB | ( | dst_1 | , |
py_1 | , | ||
3 | |||
) |
PUTRGB24 | ( | dst_1 | , |
py_1 | , | ||
0 | |||
) |
PUTRGB24 | ( | dst_2 | , |
py_2 | , | ||
0 | |||
) |
PUTRGB24 | ( | dst_2 | , |
py_2 | , | ||
1 | |||
) |
PUTRGB24 | ( | dst_1 | , |
py_1 | , | ||
1 | |||
) |
PUTRGB24 | ( | dst_1 | , |
py_1 | , | ||
2 | |||
) |
PUTRGB24 | ( | dst_2 | , |
py_2 | , | ||
2 | |||
) |
PUTRGB24 | ( | dst_2 | , |
py_2 | , | ||
3 | |||
) |
PUTRGB24 | ( | dst_1 | , |
py_1 | , | ||
3 | |||
) |
PUTBGR24 | ( | dst_1 | , |
py_1 | , | ||
0 | |||
) |
PUTBGR24 | ( | dst_2 | , |
py_2 | , | ||
0 | |||
) |
PUTBGR24 | ( | dst_2 | , |
py_2 | , | ||
1 | |||
) |
PUTBGR24 | ( | dst_1 | , |
py_1 | , | ||
1 | |||
) |
PUTBGR24 | ( | dst_1 | , |
py_1 | , | ||
2 | |||
) |
PUTBGR24 | ( | dst_2 | , |
py_2 | , | ||
2 | |||
) |
PUTBGR24 | ( | dst_2 | , |
py_2 | , | ||
3 | |||
) |
PUTBGR24 | ( | dst_1 | , |
py_1 | , | ||
3 | |||
) |
PUTRGB16 | ( | dst_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB16 | ( | dst_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB16 | ( | dst_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB16 | ( | dst_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB16 | ( | dst_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB16 | ( | dst_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB16 | ( | dst_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB16 | ( | dst_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
PUTRGB15 | ( | dst_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB15 | ( | dst_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB15 | ( | dst_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB15 | ( | dst_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB15 | ( | dst_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB15 | ( | dst_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB15 | ( | dst_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB15 | ( | dst_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
PUTRGB12 | ( | dst_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB12 | ( | dst_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB12 | ( | dst_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB12 | ( | dst_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB12 | ( | dst_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB12 | ( | dst_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB12 | ( | dst_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB12 | ( | dst_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
PUTRGB8 | ( | dst_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB8 | ( | dst_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB8 | ( | dst_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB8 | ( | dst_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB8 | ( | dst_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB8 | ( | dst_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB8 | ( | dst_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB8 | ( | dst_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
PUTRGB4D | ( | dst_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB4D | ( | dst_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB4D | ( | dst_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB4D | ( | dst_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB4D | ( | dst_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB4D | ( | dst_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB4D | ( | dst_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB4D | ( | dst_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
PUTRGB4DB | ( | dst_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB4DB | ( | dst_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB4DB | ( | dst_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB4DB | ( | dst_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB4DB | ( | dst_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB4DB | ( | dst_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB4DB | ( | dst_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB4DB | ( | dst_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
PUTRGB1 | ( | out_1 | , |
py_1 | , | ||
0 | , | ||
0 | |||
) |
PUTRGB1 | ( | out_2 | , |
py_2 | , | ||
0 | , | ||
0+ | 8 | ||
) |
PUTRGB1 | ( | out_2 | , |
py_2 | , | ||
1 | , | ||
2+ | 8 | ||
) |
PUTRGB1 | ( | out_1 | , |
py_1 | , | ||
1 | , | ||
2 | |||
) |
PUTRGB1 | ( | out_1 | , |
py_1 | , | ||
2 | , | ||
4 | |||
) |
PUTRGB1 | ( | out_2 | , |
py_2 | , | ||
2 | , | ||
4+ | 8 | ||
) |
PUTRGB1 | ( | out_2 | , |
py_2 | , | ||
3 | , | ||
6+ | 8 | ||
) |
PUTRGB1 | ( | out_1 | , |
py_1 | , | ||
3 | , | ||
6 | |||
) |
SwsFunc ff_yuv2rgb_get_func_ptr | ( | SwsContext * | c | ) |
Definition at line 679 of file yuv2rgb.c.
Referenced by ff_get_unscaled_swscale().
|
static |
Definition at line 737 of file yuv2rgb.c.
Referenced by ff_yuv2rgb_c_init_tables().
|
static |
Definition at line 751 of file yuv2rgb.c.
Referenced by ff_yuv2rgb_c_init_tables().
|
static |
Definition at line 762 of file yuv2rgb.c.
Referenced by ff_yuv2rgb_c_init_tables().
av_cold int ff_yuv2rgb_c_init_tables | ( | SwsContext * | c, |
const int | inv_table[4], | ||
int | fullRange, | ||
int | brightness, | ||
int | contrast, | ||
int | saturation | ||
) |
Definition at line 774 of file yuv2rgb.c.
Referenced by sws_setColorspaceDetails().
const int32_t ff_yuv2rgb_coeffs[11][4] |
Definition at line 49 of file yuv2rgb.c.
Referenced by sws_getCoefficients(), and sws_init_context().
const uint8_t * d16 = ff_dither_2x2_8[y & 1] |
const uint8_t * e16 = ff_dither_2x2_4[y & 1] |
const uint8_t* f16 = ff_dither_2x2_8[(y & 1)^1] |
const uint8_t * d32 = ff_dither_8x8_32[yd & 7] |
Definition at line 502 of file yuv2rgb.c.
Referenced by av_image_copy_to_buffer(), and yuv2rgb_write().
const uint8_t * d64 = ff_dither_8x8_73[yd & 7] |
Definition at line 503 of file yuv2rgb.c.
Referenced by yuv2rgb_write().
const uint8_t * d128 = ff_dither_8x8_220[yd & 7] |
Definition at line 554 of file yuv2rgb.c.
Referenced by yuv2mono_1_c_template(), yuv2mono_2_c_template(), yuv2mono_X_c_template(), and yuv2rgb_write().
int acc |
Definition at line 555 of file yuv2rgb.c.
Referenced by add_left_pred_c(), add_left_pred_int16_c(), apply_lpc(), check_add_left_pred(), check_add_left_pred_16(), compute_unsafe_ssd_integral_image(), dsd_ctables_tableinit(), ff_mjpeg_escape_FF(), fill_coding_method_array(), get_intra_count(), get_sae(), initFilter(), left_prediction(), luma_abs_diff(), main(), read_diff_float_data(), sse(), stability_factor(), yuv2mono_1_c_template(), yuv2mono_2_c_template(), and yuv2mono_X_c_template().
g = c->table_gU[128 + YUVRGB_TABLE_HEADROOM] + c->table_gV[128 + YUVRGB_TABLE_HEADROOM] |