libswscale/x86/swscale_mmx.c File Reference

#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 DITHER1XBPP
#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_Y_FUNC(fmt, opt)
#define INPUT_UV_FUNC(fmt, opt)
#define INPUT_FUNC(fmt, opt)
#define INPUT_FUNCS(opt)

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)
 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 (ssse3)
 INPUT_FUNCS (avx)
void ff_sws_init_swScale_mmx (SwsContext *c)

Variables

const uint64_t ff_dither8 [2]


Define Documentation

#define COMPILE_TEMPLATE_MMX2   0

#define DITHER1XBPP

Definition at line 30 of file swscale_mmx.c.

#define INPUT_FUNC ( fmt,
opt   ) 

Value:

Definition at line 341 of file swscale_mmx.c.

#define INPUT_FUNCS ( opt   ) 

Value:

INPUT_FUNC(uyvy, opt); \
    INPUT_FUNC(yuyv, opt); \
    INPUT_UV_FUNC(nv12, opt); \
    INPUT_UV_FUNC(nv21, opt); \
    INPUT_FUNC(rgba, opt); \
    INPUT_FUNC(bgra, opt); \
    INPUT_FUNC(argb, opt); \
    INPUT_FUNC(abgr, opt); \
    INPUT_FUNC(rgb24, opt); \
    INPUT_FUNC(bgr24, opt)

Definition at line 344 of file swscale_mmx.c.

#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 337 of file swscale_mmx.c.

#define INPUT_Y_FUNC ( fmt,
opt   ) 

Value:

extern void ff_ ## fmt ## ToY_  ## opt(uint8_t *dst, const uint8_t *src, \
                                       int w, uint32_t *unused)

Definition at line 334 of file swscale_mmx.c.

#define RENAME (  )     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 264 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, 14, 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, 14, 19, opt); \
    SCALE_FUNC(filter_n, 16, 19, opt)

Definition at line 271 of file swscale_mmx.c.

#define SCALE_FUNCS_MMX ( opt   ) 

Value:

SCALE_FUNCS(4, opt); \
    SCALE_FUNCS(8, opt); \
    SCALE_FUNCS(X, opt)

Definition at line 283 of file swscale_mmx.c.

#define SCALE_FUNCS_SSE ( opt   ) 

Value:

SCALE_FUNCS(4, opt); \
    SCALE_FUNCS(8, opt); \
    SCALE_FUNCS(X4, opt); \
    SCALE_FUNCS(X8, opt)

Definition at line 288 of file swscale_mmx.c.

#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 318 of file swscale_mmx.c.

#define VSCALE_FUNCS ( opt1,
opt2   ) 

Value:

VSCALE_FUNC(8,  opt1); \
    VSCALE_FUNC(9,  opt2); \
    VSCALE_FUNC(10, opt2); \
    VSCALE_FUNC(16, opt1)

Definition at line 321 of file swscale_mmx.c.

#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 301 of file swscale_mmx.c.

#define VSCALEX_FUNCS ( opt   ) 

Value:

VSCALEX_FUNC(8,  opt); \
    VSCALEX_FUNC(9,  opt); \
    VSCALEX_FUNC(10, opt)

Definition at line 305 of file swscale_mmx.c.


Function Documentation

DECLARE_ASM_CONST ( DECLARE_ASM_CONST(  8,
DECLARE_ASM_CONST(  uint64_t,
b16Mask   
) [pure virtual]

Definition at line 45 of file swscale_mmx.c.

DECLARE_ASM_CONST ( DECLARE_ASM_CONST(  8,
DECLARE_ASM_CONST(  uint64_t,
bF8   
) [pure virtual]

Definition at line 32 of file swscale_mmx.c.

void ff_sws_init_swScale_mmx ( SwsContext c  ) 

Definition at line 363 of file swscale_mmx.c.

Referenced by ff_getSwsFunc().

INPUT_FUNCS ( avx   ) 

INPUT_FUNCS ( ssse3   ) 

INPUT_FUNCS ( sse2   ) 

SCALE_FUNCS_SSE ( sse4   ) 

SCALE_FUNCS_SSE ( ssse3   ) 

SCALE_FUNCS_SSE ( sse2   ) 

VSCALE_FUNC ( 16  ,
sse4   
)

VSCALE_FUNCS ( avx  ,
avx   
)

VSCALE_FUNCS ( sse2  ,
sse2   
)

VSCALEX_FUNC ( 16  ,
sse4   
)

VSCALEX_FUNCS ( avx   ) 

VSCALEX_FUNCS ( sse4   ) 

VSCALEX_FUNCS ( sse2   ) 


Variable Documentation

const uint64_t ff_dither8[2]

Initial value:

 {
    0x0602060206020602LL,
    0x0004000400040004LL,}

Definition at line 41 of file swscale_mmx.c.

Referenced by DECLARE_ASM_CONST(), yuv420_rgb15_TMPL(), and yuv420_rgb16_TMPL().


Generated on Fri Oct 26 02:48:03 2012 for FFmpeg by  doxygen 1.5.8