#include <inttypes.h>
#include "config.h"
#include "libswscale/swscale.h"
#include "libswscale/swscale_internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/x86_cpu.h"
#include "libavutil/cpu.h"
#include "libavutil/pixdesc.h"
#include "swscale_template.c"
Go to the source code of this file.
Defines |
#define | COMPILE_TEMPLATE_MMX2 0 |
#define | RENAME(a) a ## _MMX |
#define | SCALE_FUNC(filter_n, from_bpc, to_bpc, opt) |
#define | SCALE_FUNCS(filter_n, opt) |
#define | SCALE_FUNCS_MMX(opt) |
#define | SCALE_FUNCS_SSE(opt) |
#define | VSCALEX_FUNC(size, opt) |
#define | VSCALEX_FUNCS(opt) |
#define | VSCALE_FUNC(size, opt) |
#define | VSCALE_FUNCS(opt1, opt2) |
#define | INPUT_UV_FUNC(fmt, opt) |
#define | INPUT_FUNC(fmt, opt) |
#define | INPUT_FUNCS(opt) |
#define | ASSIGN_SCALE_FUNC2(hscalefn, filtersize, opt1, opt2) |
#define | ASSIGN_MMX_SCALE_FUNC(hscalefn, filtersize, opt1, opt2) |
#define | ASSIGN_VSCALEX_FUNC(vscalefn, opt, do_16_case) |
#define | ASSIGN_VSCALE_FUNC(vscalefn, opt1, opt2, opt2chk) |
#define | ASSIGN_SSE_SCALE_FUNC(hscalefn, filtersize, opt1, opt2) |
Functions |
| DECLARE_ASM_CONST (DECLARE_ASM_CONST(8, DECLARE_ASM_CONST(uint64_t, bF8) |
| DECLARE_ASM_CONST (DECLARE_ASM_CONST(8, DECLARE_ASM_CONST(uint64_t, b16Mask) |
| DECLARE_ASM_CONST (8, uint64_t, ff_bgr24toUVOffset) |
| SCALE_FUNCS_SSE (sse2) |
| SCALE_FUNCS_SSE (ssse3) |
| SCALE_FUNCS_SSE (sse4) |
| VSCALEX_FUNCS (sse2) |
| VSCALEX_FUNCS (sse4) |
| VSCALEX_FUNC (16, sse4) |
| VSCALEX_FUNCS (avx) |
| VSCALE_FUNCS (sse2, sse2) |
| VSCALE_FUNC (16, sse4) |
| VSCALE_FUNCS (avx, avx) |
| INPUT_FUNCS (sse2) |
| INPUT_FUNCS (avx) |
void | ff_sws_init_swScale_mmx (SwsContext *c) |
Variables |
const uint64_t | ff_dither8 [2] |
Define Documentation
#define ASSIGN_MMX_SCALE_FUNC |
( |
|
hscalefn, |
|
|
|
filtersize, |
|
|
|
opt1, |
|
|
|
opt2 | |
|
) |
| | |
#define ASSIGN_SCALE_FUNC2 |
( |
|
hscalefn, |
|
|
|
filtersize, |
|
|
|
opt1, |
|
|
|
opt2 | |
|
) |
| | |
Value:do { \
if (c->srcBpc == 8) { \
hscalefn = c->dstBpc <= 10 ? ff_hscale8to15_ ## filtersize ## _ ## opt2 : \
ff_hscale8to19_ ## filtersize ## _ ## opt1; \
} else if (c->srcBpc == 9) { \
hscalefn = c->dstBpc <= 10 ? ff_hscale9to15_ ## filtersize ## _ ## opt2 : \
ff_hscale9to19_ ## filtersize ## _ ## opt1; \
} else if (c->srcBpc == 10) { \
hscalefn = c->dstBpc <= 10 ? ff_hscale10to15_ ## filtersize ## _ ## opt2 : \
ff_hscale10to19_ ## filtersize ## _ ## opt1; \
} else { \
hscalefn = c->dstBpc <= 10 ? ff_hscale16to15_ ## filtersize ## _ ## opt2 : \
ff_hscale16to19_ ## filtersize ## _ ## opt1; \
} \
} while (0)
#define ASSIGN_SSE_SCALE_FUNC |
( |
|
hscalefn, |
|
|
|
filtersize, |
|
|
|
opt1, |
|
|
|
opt2 | |
|
) |
| | |
Value:switch (filtersize) { \
case 4: ASSIGN_SCALE_FUNC2(hscalefn, 4, opt1, opt2); break; \
case 8: ASSIGN_SCALE_FUNC2(hscalefn, 8, opt1, opt2); break; \
default: if (filtersize & 4) ASSIGN_SCALE_FUNC2(hscalefn, X4, opt1, opt2); \
else ASSIGN_SCALE_FUNC2(hscalefn, X8, opt1, opt2); \
break; \
}
Referenced by ff_sws_init_swScale_mmx().
#define ASSIGN_VSCALE_FUNC |
( |
|
vscalefn, |
|
|
|
opt1, |
|
|
|
opt2, |
|
|
|
opt2chk | |
|
) |
| | |
Value:switch(c->dstBpc){ \
case 16: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2plane1_16_ ## opt1; break; \
case 10: if (!isBE(c->dstFormat) && opt2chk) vscalefn = ff_yuv2plane1_10_ ## opt2; break; \
case 9: if (!isBE(c->dstFormat) && opt2chk) vscalefn = ff_yuv2plane1_9_ ## opt2; break; \
default: vscalefn = ff_yuv2plane1_8_ ## opt1; break; \
}
Referenced by ff_sws_init_swScale_mmx().
#define ASSIGN_VSCALEX_FUNC |
( |
|
vscalefn, |
|
|
|
opt, |
|
|
|
do_16_case | |
|
) |
| | |
Value:switch(c->dstBpc){ \
case 16: do_16_case; break; \
case 10: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_10_ ## opt; break; \
case 9: if (!isBE(c->dstFormat)) vscalefn = ff_yuv2planeX_9_ ## opt; break; \
default: vscalefn = ff_yuv2planeX_8_ ## opt; break; \
}
Referenced by ff_sws_init_swScale_mmx().
#define COMPILE_TEMPLATE_MMX2 0 |
#define INPUT_FUNC |
( |
|
fmt, |
|
|
|
opt | |
|
) |
| | |
Value:extern void ff_ ## fmt ## ToY_ ## opt(uint8_t *dst, const uint8_t *src, \
int w, uint32_t *unused); \
INPUT_UV_FUNC(fmt, opt)
Definition at line 289 of file swscale_mmx.c.
#define INPUT_FUNCS |
( |
|
opt |
) |
|
#define INPUT_UV_FUNC |
( |
|
fmt, |
|
|
|
opt | |
|
) |
| | |
Value:extern void ff_ ## fmt ## ToUV_ ## opt(uint8_t *dstU, uint8_t *dstV, \
const uint8_t *src, const uint8_t *unused1, \
int w, uint32_t *unused2)
Definition at line 285 of file swscale_mmx.c.
#define RENAME |
( |
|
a |
) |
a ## _MMX |
#define SCALE_FUNC |
( |
|
filter_n, |
|
|
|
from_bpc, |
|
|
|
to_bpc, |
|
|
|
opt | |
|
) |
| | |
Value:extern void ff_hscale ## from_bpc ## to ## to_bpc ## _ ## filter_n ## _ ## opt( \
SwsContext *c, int16_t *data, \
int dstW, const uint8_t *src, \
const int16_t *filter, \
const int32_t *filterPos, int filterSize)
Definition at line 217 of file swscale_mmx.c.
#define SCALE_FUNCS |
( |
|
filter_n, |
|
|
|
opt | |
|
) |
| | |
Value:SCALE_FUNC(filter_n, 8, 15, opt); \
SCALE_FUNC(filter_n, 9, 15, opt); \
SCALE_FUNC(filter_n, 10, 15, opt); \
SCALE_FUNC(filter_n, 16, 15, opt); \
SCALE_FUNC(filter_n, 8, 19, opt); \
SCALE_FUNC(filter_n, 9, 19, opt); \
SCALE_FUNC(filter_n, 10, 19, opt); \
SCALE_FUNC(filter_n, 16, 19, opt)
Definition at line 224 of file swscale_mmx.c.
#define SCALE_FUNCS_MMX |
( |
|
opt |
) |
|
#define SCALE_FUNCS_SSE |
( |
|
opt |
) |
|
#define VSCALE_FUNC |
( |
|
size, |
|
|
|
opt | |
|
) |
| | |
Value:extern void ff_yuv2plane1_ ## size ## _ ## opt(const int16_t *src, uint8_t *dst, int dstW, \
const uint8_t *dither, int offset)
Definition at line 269 of file swscale_mmx.c.
#define VSCALE_FUNCS |
( |
|
opt1, |
|
|
|
opt2 | |
|
) |
| | |
#define VSCALEX_FUNC |
( |
|
size, |
|
|
|
opt | |
|
) |
| | |
Value:extern void ff_yuv2planeX_ ## size ## _ ## opt(const int16_t *filter, int filterSize, \
const int16_t **src, uint8_t *dest, int dstW, \
const uint8_t *dither, int offset)
Definition at line 252 of file swscale_mmx.c.
#define VSCALEX_FUNCS |
( |
|
opt |
) |
|
Function Documentation
DECLARE_ASM_CONST |
( |
DECLARE_ASM_CONST( |
8, |
|
|
DECLARE_ASM_CONST( |
uint64_t, |
|
|
bF8 |
| |
|
) |
| | [pure virtual] |
DECLARE_ASM_CONST |
( |
DECLARE_ASM_CONST( |
8, |
|
|
DECLARE_ASM_CONST( |
uint64_t, |
|
|
b16Mask |
| |
|
) |
| | [pure virtual] |
DECLARE_ASM_CONST |
( |
8 |
, |
|
|
uint64_t |
, |
|
|
ff_bgr24toUVOffset |
| |
|
) |
| | [pure virtual] |
SCALE_FUNCS_SSE |
( |
ssse3 |
|
) |
|
VSCALE_FUNC |
( |
16 |
, |
|
|
sse4 |
| |
|
) |
| | |
VSCALE_FUNCS |
( |
sse2 |
, |
|
|
sse2 |
| |
|
) |
| | |
VSCALE_FUNCS |
( |
avx |
, |
|
|
avx |
| |
|
) |
| | |
VSCALEX_FUNC |
( |
16 |
, |
|
|
sse4 |
| |
|
) |
| | |
Variable Documentation