libavcodec/x86/h264dsp_mmx.c File Reference

#include "dsputil_mmx.h"
#include "dsputil_h264_template_mmx.c"

Go to the source code of this file.

Defines

#define SUMSUB_BADC(a, b, c, d)
#define SUMSUBD2_AB(a, b, t)
#define IDCT4_1D(s02, s13, d02, d13, t)
#define STORE_DIFF_4P(p, t, z)
#define STORE_DIFF_8P(p, d, t, z)
#define H264_IDCT8_1D_SSE2(a, b, c, d, e, f, g, h)
#define DIFF_GT_MMX(x, y, a, o, t)
#define DIFF_GT2_MMX(x, y, a, o, t)
#define H264_DEBLOCK_MASK(alpha1, beta1)
#define H264_DEBLOCK_P0_Q0(pb_01, pb_3f)
#define H264_DEBLOCK_Q1(p1, q2, q2addr, q1addr, tc0, tmp)
#define H264_FILTER_CHROMA4(p0, p1, q1, one)
#define QPEL_H264V_MM(A, B, C, D, E, F, OP, T, Z, d, q)
#define QPEL_H264HV_MM(A, B, C, D, E, F, OF, T, Z, d, q)
#define QPEL_H264V(A, B, C, D, E, F, OP)   QPEL_H264V_MM(A,B,C,D,E,F,OP,%%mm6,%%mm7,d,q)
#define QPEL_H264HV(A, B, C, D, E, F, OF)   QPEL_H264HV_MM(A,B,C,D,E,F,OF,%%mm6,%%mm7,d,q)
#define QPEL_H264V_XMM(A, B, C, D, E, F, OP)   QPEL_H264V_MM(A,B,C,D,E,F,OP,%%xmm6,%%xmm7,q,dqa)
#define QPEL_H264HV_XMM(A, B, C, D, E, F, OF)   QPEL_H264HV_MM(A,B,C,D,E,F,OF,%%xmm6,%%xmm7,q,dqa)
#define QPEL_H264(OPNAME, OP, MMX)
#define QPEL_H264_H16_XMM(OPNAME, OP, MMX)
#define QPEL_H264_H_XMM(OPNAME, OP, MMX)
#define QPEL_H264_V_XMM(OPNAME, OP, MMX)
#define QPEL_H264_HV2_XMM(OPNAME, OP, MMX)
#define QPEL_H264_HV_XMM(OPNAME, OP, MMX)
#define put_pixels8_l2_sse2   put_pixels8_l2_mmx2
#define avg_pixels8_l2_sse2   avg_pixels8_l2_mmx2
#define put_pixels16_l2_sse2   put_pixels16_l2_mmx2
#define avg_pixels16_l2_sse2   avg_pixels16_l2_mmx2
#define put_pixels8_l2_ssse3   put_pixels8_l2_mmx2
#define avg_pixels8_l2_ssse3   avg_pixels8_l2_mmx2
#define put_pixels16_l2_ssse3   put_pixels16_l2_mmx2
#define avg_pixels16_l2_ssse3   avg_pixels16_l2_mmx2
#define put_pixels8_l2_shift5_sse2   put_pixels8_l2_shift5_mmx2
#define avg_pixels8_l2_shift5_sse2   avg_pixels8_l2_shift5_mmx2
#define put_pixels16_l2_shift5_sse2   put_pixels16_l2_shift5_mmx2
#define avg_pixels16_l2_shift5_sse2   avg_pixels16_l2_shift5_mmx2
#define put_pixels8_l2_shift5_ssse3   put_pixels8_l2_shift5_mmx2
#define avg_pixels8_l2_shift5_ssse3   avg_pixels8_l2_shift5_mmx2
#define put_pixels16_l2_shift5_ssse3   put_pixels16_l2_shift5_mmx2
#define avg_pixels16_l2_shift5_ssse3   avg_pixels16_l2_shift5_mmx2
#define put_h264_qpel8_h_lowpass_l2_sse2   put_h264_qpel8_h_lowpass_l2_mmx2
#define avg_h264_qpel8_h_lowpass_l2_sse2   avg_h264_qpel8_h_lowpass_l2_mmx2
#define put_h264_qpel16_h_lowpass_l2_sse2   put_h264_qpel16_h_lowpass_l2_mmx2
#define avg_h264_qpel16_h_lowpass_l2_sse2   avg_h264_qpel16_h_lowpass_l2_mmx2
#define put_h264_qpel8_v_lowpass_ssse3   put_h264_qpel8_v_lowpass_sse2
#define avg_h264_qpel8_v_lowpass_ssse3   avg_h264_qpel8_v_lowpass_sse2
#define put_h264_qpel16_v_lowpass_ssse3   put_h264_qpel16_v_lowpass_sse2
#define avg_h264_qpel16_v_lowpass_ssse3   avg_h264_qpel16_v_lowpass_sse2
#define put_h264_qpel8or16_hv2_lowpass_sse2   put_h264_qpel8or16_hv2_lowpass_mmx2
#define avg_h264_qpel8or16_hv2_lowpass_sse2   avg_h264_qpel8or16_hv2_lowpass_mmx2
#define H264_MC(OPNAME, SIZE, MMX, ALIGN)
#define put_h264_qpel8_mc00_sse2   put_h264_qpel8_mc00_mmx2
#define avg_h264_qpel8_mc00_sse2   avg_h264_qpel8_mc00_mmx2
#define H264_MC_C(OPNAME, SIZE, MMX, ALIGN)
#define H264_MC_H(OPNAME, SIZE, MMX, ALIGN)
#define H264_MC_V(OPNAME, SIZE, MMX, ALIGN)
#define H264_MC_HV(OPNAME, SIZE, MMX, ALIGN)
#define H264_MC_4816(MMX)
#define H264_MC_816(QPEL, XMM)
#define AVG_3DNOW_OP(a, b, temp, size)
#define AVG_MMX2_OP(a, b, temp, size)
#define PAVGB   "pavgusb"
#define PAVGB   "pavgb"
#define H264_CHROMA_OP(S, D)
#define H264_CHROMA_OP4(S, D, T)
#define H264_CHROMA_MC8_TMPL   put_h264_chroma_generic_mc8_mmx
#define H264_CHROMA_MC4_TMPL   put_h264_chroma_generic_mc4_mmx
#define H264_CHROMA_MC2_TMPL   put_h264_chroma_mc2_mmx2
#define H264_CHROMA_MC8_MV0   put_pixels8_mmx
#define H264_CHROMA_OP(S, D)   "pavgb " #S ", " #D " \n\t"
#define H264_CHROMA_OP4(S, D, T)
#define H264_CHROMA_MC8_TMPL   avg_h264_chroma_generic_mc8_mmx2
#define H264_CHROMA_MC4_TMPL   avg_h264_chroma_generic_mc4_mmx2
#define H264_CHROMA_MC2_TMPL   avg_h264_chroma_mc2_mmx2
#define H264_CHROMA_MC8_MV0   avg_pixels8_mmx2
#define H264_CHROMA_OP(S, D)   "pavgusb " #S ", " #D " \n\t"
#define H264_CHROMA_OP4(S, D, T)
#define H264_CHROMA_MC8_TMPL   avg_h264_chroma_generic_mc8_3dnow
#define H264_CHROMA_MC4_TMPL   avg_h264_chroma_generic_mc4_3dnow
#define H264_CHROMA_MC8_MV0   avg_pixels8_3dnow
#define H264_WEIGHT(W, H)

Functions

static void ff_h264_idct_add_mmx (uint8_t *dst, int16_t *block, int stride)
static void h264_idct8_1d (int16_t *block)
static void ff_h264_idct8_add_mmx (uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct8_add_sse2 (uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct_dc_add_mmx2 (uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct8_dc_add_mmx2 (uint8_t *dst, int16_t *block, int stride)
static void ff_h264_idct_add16_mmx (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct8_add4_mmx (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct_add16_mmx2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct_add16intra_mmx (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct_add16intra_mmx2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct8_add4_mmx2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct8_add4_sse2 (uint8_t *dst, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct_add8_mmx (uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void ff_h264_idct_add8_mmx2 (uint8_t **dest, const int *block_offset, DCTELEM *block, int stride, const uint8_t nnzc[6 *8])
static void h264_loop_filter_luma_mmx2 (uint8_t *pix, int stride, int alpha1, int beta1, int8_t *tc0)
static void h264_v_loop_filter_luma_mmx2 (uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
static void h264_h_loop_filter_luma_mmx2 (uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
static void h264_loop_filter_chroma_mmx2 (uint8_t *pix, int stride, int alpha1, int beta1, int8_t *tc0)
static void h264_v_loop_filter_chroma_mmx2 (uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
static void h264_h_loop_filter_chroma_mmx2 (uint8_t *pix, int stride, int alpha, int beta, int8_t *tc0)
static void h264_loop_filter_chroma_intra_mmx2 (uint8_t *pix, int stride, int alpha1, int beta1)
static void h264_v_loop_filter_chroma_intra_mmx2 (uint8_t *pix, int stride, int alpha, int beta)
static void h264_h_loop_filter_chroma_intra_mmx2 (uint8_t *pix, int stride, int alpha, int beta)
static void h264_loop_filter_strength_mmx2 (int16_t bS[2][4][4], uint8_t nnz[40], int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, int step, int mask_mv0, int mask_mv1, int field)
static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2 (int16_t *tmp, uint8_t *src, int tmpStride, int srcStride, int size)
static void put_h264_qpel16_mc00_sse2 (uint8_t *dst, uint8_t *src, int stride)
static void avg_h264_qpel16_mc00_sse2 (uint8_t *dst, uint8_t *src, int stride)
static void put_h264_chroma_mc8_mmx_rnd (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void put_vc1_chroma_mc8_mmx_nornd (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void put_h264_chroma_mc4_mmx (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void avg_h264_chroma_mc8_mmx2_rnd (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void avg_vc1_chroma_mc8_mmx2_nornd (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void avg_h264_chroma_mc4_mmx2 (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void avg_h264_chroma_mc8_3dnow_rnd (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void avg_h264_chroma_mc4_3dnow (uint8_t *dst, uint8_t *src, int stride, int h, int x, int y)
static void ff_h264_weight_WxH_mmx2 (uint8_t *dst, int stride, int log2_denom, int weight, int offset, int w, int h)
static void ff_h264_biweight_WxH_mmx2 (uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset, int w, int h)

Variables

static const uint64_t ff_pb_3_1 = 0x0103010301030103ULL
static const uint64_t ff_pb_7_3 = 0x0307030703070307ULL
static const uint8_t scan8 [16+2 *4]
static const uint64_t h264_rnd_reg [4]


Define Documentation

#define AVG_3DNOW_OP ( a,
b,
temp,
size   ) 

Value:

"mov" #size " " #b ", " #temp "   \n\t"\
"pavgusb " #temp ", " #a "        \n\t"\
"mov" #size " " #a ", " #b "      \n\t"

Definition at line 2069 of file h264dsp_mmx.c.

#define avg_h264_qpel16_h_lowpass_l2_sse2   avg_h264_qpel16_h_lowpass_l2_mmx2

Definition at line 1928 of file h264dsp_mmx.c.

#define avg_h264_qpel16_v_lowpass_ssse3   avg_h264_qpel16_v_lowpass_sse2

Definition at line 1933 of file h264dsp_mmx.c.

#define avg_h264_qpel8_h_lowpass_l2_sse2   avg_h264_qpel8_h_lowpass_l2_mmx2

Definition at line 1926 of file h264dsp_mmx.c.

#define avg_h264_qpel8_mc00_sse2   avg_h264_qpel8_mc00_mmx2

Definition at line 1951 of file h264dsp_mmx.c.

#define avg_h264_qpel8_v_lowpass_ssse3   avg_h264_qpel8_v_lowpass_sse2

Definition at line 1931 of file h264dsp_mmx.c.

#define avg_h264_qpel8or16_hv2_lowpass_sse2   avg_h264_qpel8or16_hv2_lowpass_mmx2

Definition at line 1936 of file h264dsp_mmx.c.

#define AVG_MMX2_OP ( a,
b,
temp,
size   ) 

Value:

"mov" #size " " #b ", " #temp "   \n\t"\
"pavgb " #temp ", " #a "          \n\t"\
"mov" #size " " #a ", " #b "      \n\t"

Definition at line 2073 of file h264dsp_mmx.c.

#define avg_pixels16_l2_shift5_sse2   avg_pixels16_l2_shift5_mmx2

Definition at line 1919 of file h264dsp_mmx.c.

#define avg_pixels16_l2_shift5_ssse3   avg_pixels16_l2_shift5_mmx2

Definition at line 1923 of file h264dsp_mmx.c.

#define avg_pixels16_l2_sse2   avg_pixels16_l2_mmx2

Definition at line 1910 of file h264dsp_mmx.c.

#define avg_pixels16_l2_ssse3   avg_pixels16_l2_mmx2

Definition at line 1914 of file h264dsp_mmx.c.

#define avg_pixels8_l2_shift5_sse2   avg_pixels8_l2_shift5_mmx2

Definition at line 1917 of file h264dsp_mmx.c.

#define avg_pixels8_l2_shift5_ssse3   avg_pixels8_l2_shift5_mmx2

Definition at line 1921 of file h264dsp_mmx.c.

#define avg_pixels8_l2_sse2   avg_pixels8_l2_mmx2

Definition at line 1908 of file h264dsp_mmx.c.

#define avg_pixels8_l2_ssse3   avg_pixels8_l2_mmx2

Definition at line 1912 of file h264dsp_mmx.c.

#define DIFF_GT2_MMX ( x,
y,
a,
o,
t   ) 

Value:

"movq     "#y", "#t"  \n\t"\
    "movq     "#x", "#o"  \n\t"\
    "psubusb  "#x", "#t"  \n\t"\
    "psubusb  "#y", "#o"  \n\t"\
    "psubusb  "#a", "#t"  \n\t"\
    "psubusb  "#a", "#o"  \n\t"\
    "pcmpeqb  "#t", "#o"  \n\t"\

Definition at line 562 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_luma_mmx2().

#define DIFF_GT_MMX ( x,
y,
a,
o,
t   ) 

Value:

"movq     "#y", "#t"  \n\t"\
    "movq     "#x", "#o"  \n\t"\
    "psubusb  "#x", "#t"  \n\t"\
    "psubusb  "#y", "#o"  \n\t"\
    "por      "#t", "#o"  \n\t"\
    "psubusb  "#a", "#o"  \n\t"

Definition at line 552 of file h264dsp_mmx.c.

#define H264_CHROMA_MC2_TMPL   avg_h264_chroma_mc2_mmx2

Definition at line 2145 of file h264dsp_mmx.c.

#define H264_CHROMA_MC2_TMPL   put_h264_chroma_mc2_mmx2

Definition at line 2145 of file h264dsp_mmx.c.

#define H264_CHROMA_MC4_TMPL   avg_h264_chroma_generic_mc4_3dnow

Definition at line 2171 of file h264dsp_mmx.c.

#define H264_CHROMA_MC4_TMPL   avg_h264_chroma_generic_mc4_mmx2

Definition at line 2171 of file h264dsp_mmx.c.

#define H264_CHROMA_MC4_TMPL   put_h264_chroma_generic_mc4_mmx

Definition at line 2171 of file h264dsp_mmx.c.

#define H264_CHROMA_MC8_MV0   avg_pixels8_3dnow

Definition at line 2172 of file h264dsp_mmx.c.

#define H264_CHROMA_MC8_MV0   avg_pixels8_mmx2

Definition at line 2172 of file h264dsp_mmx.c.

#define H264_CHROMA_MC8_MV0   put_pixels8_mmx

Definition at line 2172 of file h264dsp_mmx.c.

Referenced by H264_CHROMA_MC8_TMPL().

#define H264_CHROMA_MC8_TMPL   avg_h264_chroma_generic_mc8_3dnow

Definition at line 2170 of file h264dsp_mmx.c.

#define H264_CHROMA_MC8_TMPL   avg_h264_chroma_generic_mc8_mmx2

Definition at line 2170 of file h264dsp_mmx.c.

#define H264_CHROMA_MC8_TMPL   put_h264_chroma_generic_mc8_mmx

Definition at line 2170 of file h264dsp_mmx.c.

#define H264_CHROMA_OP ( S,
 )     "pavgusb " #S ", " #D " \n\t"

Definition at line 2167 of file h264dsp_mmx.c.

#define H264_CHROMA_OP ( S,
 )     "pavgb " #S ", " #D " \n\t"

Definition at line 2167 of file h264dsp_mmx.c.

#define H264_CHROMA_OP ( S,
 ) 

Definition at line 2167 of file h264dsp_mmx.c.

Referenced by H264_CHROMA_MC8_TMPL().

#define H264_CHROMA_OP4 ( S,
D,
T   ) 

Value:

"movd " #S ", " #T " \n\t"\
                               "pavgusb " #T ", " #D " \n\t"

Definition at line 2168 of file h264dsp_mmx.c.

#define H264_CHROMA_OP4 ( S,
D,
T   ) 

Value:

"movd  " #S ", " #T " \n\t"\
                               "pavgb " #T ", " #D " \n\t"

Definition at line 2168 of file h264dsp_mmx.c.

#define H264_CHROMA_OP4 ( S,
D,
T   ) 

Definition at line 2168 of file h264dsp_mmx.c.

Referenced by H264_CHROMA_MC4_TMPL().

#define H264_DEBLOCK_MASK ( alpha1,
beta1   ) 

Value:

"pshufw $0, "#alpha1", %%mm4 \n\t"\
    "pshufw $0, "#beta1 ", %%mm5 \n\t"\
    "packuswb  %%mm4, %%mm4      \n\t"\
    "packuswb  %%mm5, %%mm5      \n\t"\
    DIFF_GT_MMX(%%mm1, %%mm2, %%mm4, %%mm7, %%mm6) /* |p0-q0| > alpha-1 */\
    DIFF_GT_MMX(%%mm0, %%mm1, %%mm5, %%mm4, %%mm6) /* |p1-p0| > beta-1 */\
    "por       %%mm4, %%mm7      \n\t"\
    DIFF_GT_MMX(%%mm3, %%mm2, %%mm5, %%mm4, %%mm6) /* |q1-q0| > beta-1 */\
    "por       %%mm4, %%mm7      \n\t"\
    "pxor      %%mm6, %%mm6      \n\t"\
    "pcmpeqb   %%mm6, %%mm7      \n\t"

Definition at line 574 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_chroma_intra_mmx2(), h264_loop_filter_chroma_mmx2(), and h264_loop_filter_luma_mmx2().

#define H264_DEBLOCK_P0_Q0 ( pb_01,
pb_3f   ) 

Value:

"movq    %%mm1              , %%mm5 \n\t"\
        "pxor    %%mm2              , %%mm5 \n\t" /* p0^q0*/\
        "pand    "#pb_01"           , %%mm5 \n\t" /* (p0^q0)&1*/\
        "pcmpeqb %%mm4              , %%mm4 \n\t"\
        "pxor    %%mm4              , %%mm3 \n\t"\
        "pavgb   %%mm0              , %%mm3 \n\t" /* (p1 - q1 + 256)>>1*/\
        "pavgb   "MANGLE(ff_pb_3)"  , %%mm3 \n\t" /*(((p1 - q1 + 256)>>1)+4)>>1 = 64+2+(p1-q1)>>2*/\
        "pxor    %%mm1              , %%mm4 \n\t"\
        "pavgb   %%mm2              , %%mm4 \n\t" /* (q0 - p0 + 256)>>1*/\
        "pavgb   %%mm5              , %%mm3 \n\t"\
        "paddusb %%mm4              , %%mm3 \n\t" /* d+128+33*/\
        "movq    "MANGLE(ff_pb_A1)" , %%mm6 \n\t"\
        "psubusb %%mm3              , %%mm6 \n\t"\
        "psubusb "MANGLE(ff_pb_A1)" , %%mm3 \n\t"\
        "pminub  %%mm7              , %%mm6 \n\t"\
        "pminub  %%mm7              , %%mm3 \n\t"\
        "psubusb %%mm6              , %%mm1 \n\t"\
        "psubusb %%mm3              , %%mm2 \n\t"\
        "paddusb %%mm3              , %%mm1 \n\t"\
        "paddusb %%mm6              , %%mm2 \n\t"

Definition at line 590 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_chroma_mmx2(), and h264_loop_filter_luma_mmx2().

#define H264_DEBLOCK_Q1 ( p1,
q2,
q2addr,
q1addr,
tc0,
tmp   ) 

Value:

"movq     %%mm1,  "#tmp"   \n\t"\
        "pavgb    %%mm2,  "#tmp"   \n\t"\
        "pavgb    "#tmp", "#q2"    \n\t" /* avg(p2,avg(p0,q0)) */\
        "pxor   "q2addr", "#tmp"   \n\t"\
        "pand     %9,     "#tmp"   \n\t" /* (p2^avg(p0,q0))&1 */\
        "psubusb  "#tmp", "#q2"    \n\t" /* (p2+((p0+q0+1)>>1))>>1 */\
        "movq     "#p1",  "#tmp"   \n\t"\
        "psubusb  "#tc0", "#tmp"   \n\t"\
        "paddusb  "#p1",  "#tc0"   \n\t"\
        "pmaxub   "#tmp", "#q2"    \n\t"\
        "pminub   "#tc0", "#q2"    \n\t"\
        "movq     "#q2",  "q1addr" \n\t"

Definition at line 615 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_luma_mmx2().

#define H264_FILTER_CHROMA4 ( p0,
p1,
q1,
one   ) 

Value:

"movq    "#p0", %%mm4  \n\t"\
    "pxor    "#q1", %%mm4  \n\t"\
    "pand   "#one", %%mm4  \n\t" /* mm4 = (p0^q1)&1 */\
    "pavgb   "#q1", "#p0"  \n\t"\
    "psubusb %%mm4, "#p0"  \n\t"\
    "pavgb   "#p1", "#p0"  \n\t"

Definition at line 746 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_chroma_intra_mmx2().

#define H264_IDCT8_1D_SSE2 ( a,
b,
c,
d,
e,
f,
g,
 ) 

Definition at line 225 of file h264dsp_mmx.c.

Referenced by ff_h264_idct8_add_sse2().

#define H264_MC ( OPNAME,
SIZE,
MMX,
ALIGN   ) 

Value:

H264_MC_C(OPNAME, SIZE, MMX, ALIGN)\
H264_MC_V(OPNAME, SIZE, MMX, ALIGN)\
H264_MC_H(OPNAME, SIZE, MMX, ALIGN)\
H264_MC_HV(OPNAME, SIZE, MMX, ALIGN)\

Definition at line 1938 of file h264dsp_mmx.c.

#define H264_MC_4816 ( MMX   ) 

Value:

H264_MC(put_, 4, MMX, 8)\
H264_MC(put_, 8, MMX, 8)\
H264_MC(put_, 16,MMX, 8)\
H264_MC(avg_, 4, MMX, 8)\
H264_MC(avg_, 8, MMX, 8)\
H264_MC(avg_, 16,MMX, 8)\

Definition at line 2054 of file h264dsp_mmx.c.

#define H264_MC_816 ( QPEL,
XMM   ) 

Value:

QPEL(put_, 8, XMM, 16)\
QPEL(put_, 16,XMM, 16)\
QPEL(avg_, 8, XMM, 16)\
QPEL(avg_, 16,XMM, 16)\

Definition at line 2062 of file h264dsp_mmx.c.

#define H264_MC_C ( OPNAME,
SIZE,
MMX,
ALIGN   ) 

Value:

static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## MMX (uint8_t *dst, uint8_t *src, int stride){\
    OPNAME ## pixels ## SIZE ## _ ## MMX(dst, src, stride, SIZE);\
}\

Definition at line 1953 of file h264dsp_mmx.c.

#define H264_MC_H ( OPNAME,
SIZE,
MMX,
ALIGN   ) 

Value:

static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## MMX(uint8_t *dst, uint8_t *src, int stride){\
    OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, src, stride, stride);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## MMX(uint8_t *dst, uint8_t *src, int stride){\
    OPNAME ## h264_qpel ## SIZE ## _h_lowpass_ ## MMX(dst, src, stride, stride);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## MMX(uint8_t *dst, uint8_t *src, int stride){\
    OPNAME ## h264_qpel ## SIZE ## _h_lowpass_l2_ ## MMX(dst, src, src+1, stride, stride);\
}\

Definition at line 1958 of file h264dsp_mmx.c.

#define H264_MC_HV ( OPNAME,
SIZE,
MMX,
ALIGN   ) 

Definition at line 1988 of file h264dsp_mmx.c.

#define H264_MC_V ( OPNAME,
SIZE,
MMX,
ALIGN   ) 

Value:

static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## MMX(uint8_t *dst, uint8_t *src, int stride){\
    DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
    put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src, SIZE, stride);\
    OPNAME ## pixels ## SIZE ## _l2_ ## MMX(dst, src, temp, stride, stride, SIZE);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## MMX(uint8_t *dst, uint8_t *src, int stride){\
    OPNAME ## h264_qpel ## SIZE ## _v_lowpass_ ## MMX(dst, src, stride, stride);\
}\
\
static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## MMX(uint8_t *dst, uint8_t *src, int stride){\
    DECLARE_ALIGNED(ALIGN, uint8_t, temp)[SIZE*SIZE];\
    put_h264_qpel ## SIZE ## _v_lowpass_ ## MMX(temp, src, SIZE, stride);\
    OPNAME ## pixels ## SIZE ## _l2_ ## MMX(dst, src+stride, temp, stride, stride, SIZE);\
}\

Definition at line 1971 of file h264dsp_mmx.c.

#define H264_WEIGHT ( W,
 ) 

Value:

static void ff_h264_biweight_ ## W ## x ## H ## _mmx2(uint8_t *dst, uint8_t *src, int stride, int log2_denom, int weightd, int weights, int offset){ \
    ff_h264_biweight_WxH_mmx2(dst, src, stride, log2_denom, weightd, weights, offset, W, H); \
} \
static void ff_h264_weight_ ## W ## x ## H ## _mmx2(uint8_t *dst, int stride, int log2_denom, int weight, int offset){ \
    ff_h264_weight_WxH_mmx2(dst, stride, log2_denom, weight, offset, W, H); \
}

Definition at line 2308 of file h264dsp_mmx.c.

#define IDCT4_1D ( s02,
s13,
d02,
d13,
t   ) 

Value:

SUMSUB_BA  ( s02, d02 )\
    SUMSUBD2_AB( s13, d13, t )\
    SUMSUB_BADC( d13, s02, s13, d02 )

Definition at line 44 of file h264dsp_mmx.c.

Referenced by ff_h264_idct_add_mmx().

#define PAVGB   "pavgb"

Definition at line 2082 of file h264dsp_mmx.c.

#define PAVGB   "pavgusb"

Definition at line 2082 of file h264dsp_mmx.c.

#define put_h264_qpel16_h_lowpass_l2_sse2   put_h264_qpel16_h_lowpass_l2_mmx2

Definition at line 1927 of file h264dsp_mmx.c.

#define put_h264_qpel16_v_lowpass_ssse3   put_h264_qpel16_v_lowpass_sse2

Definition at line 1932 of file h264dsp_mmx.c.

#define put_h264_qpel8_h_lowpass_l2_sse2   put_h264_qpel8_h_lowpass_l2_mmx2

Definition at line 1925 of file h264dsp_mmx.c.

#define put_h264_qpel8_mc00_sse2   put_h264_qpel8_mc00_mmx2

Definition at line 1950 of file h264dsp_mmx.c.

#define put_h264_qpel8_v_lowpass_ssse3   put_h264_qpel8_v_lowpass_sse2

Definition at line 1930 of file h264dsp_mmx.c.

#define put_h264_qpel8or16_hv2_lowpass_sse2   put_h264_qpel8or16_hv2_lowpass_mmx2

Definition at line 1935 of file h264dsp_mmx.c.

#define put_pixels16_l2_shift5_sse2   put_pixels16_l2_shift5_mmx2

Definition at line 1918 of file h264dsp_mmx.c.

#define put_pixels16_l2_shift5_ssse3   put_pixels16_l2_shift5_mmx2

Definition at line 1922 of file h264dsp_mmx.c.

#define put_pixels16_l2_sse2   put_pixels16_l2_mmx2

Definition at line 1909 of file h264dsp_mmx.c.

#define put_pixels16_l2_ssse3   put_pixels16_l2_mmx2

Definition at line 1913 of file h264dsp_mmx.c.

#define put_pixels8_l2_shift5_sse2   put_pixels8_l2_shift5_mmx2

Definition at line 1916 of file h264dsp_mmx.c.

#define put_pixels8_l2_shift5_ssse3   put_pixels8_l2_shift5_mmx2

Definition at line 1920 of file h264dsp_mmx.c.

#define put_pixels8_l2_sse2   put_pixels8_l2_mmx2

Definition at line 1907 of file h264dsp_mmx.c.

#define put_pixels8_l2_ssse3   put_pixels8_l2_mmx2

Definition at line 1911 of file h264dsp_mmx.c.

#define QPEL_H264 ( OPNAME,
OP,
MMX   ) 

Definition at line 962 of file h264dsp_mmx.c.

#define QPEL_H264_H16_XMM ( OPNAME,
OP,
MMX   ) 

Value:

static av_noinline void OPNAME ## h264_qpel16_h_lowpass_l2_ ## MMX(uint8_t *dst, uint8_t *src, uint8_t *src2, int dstStride, int src2Stride){\
    OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst  , src  , src2  , dstStride, src2Stride);\
    OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst+8, src+8, src2+8, dstStride, src2Stride);\
    src += 8*dstStride;\
    dst += 8*dstStride;\
    src2 += 8*src2Stride;\
    OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst  , src  , src2  , dstStride, src2Stride);\
    OPNAME ## h264_qpel8_h_lowpass_l2_ ## MMX(dst+8, src+8, src2+8, dstStride, src2Stride);\
}

Definition at line 1580 of file h264dsp_mmx.c.

#define QPEL_H264_H_XMM ( OPNAME,
OP,
MMX   ) 

Definition at line 1592 of file h264dsp_mmx.c.

#define QPEL_H264_HV2_XMM ( OPNAME,
OP,
MMX   ) 

Definition at line 1800 of file h264dsp_mmx.c.

#define QPEL_H264_HV_XMM ( OPNAME,
OP,
MMX   ) 

Value:

static av_noinline void OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride, int size){\
          put_h264_qpel8or16_hv1_lowpass_sse2(tmp, src, tmpStride, srcStride, size);\
    OPNAME ## h264_qpel8or16_hv2_lowpass_ ## MMX(dst, tmp, dstStride, tmpStride, size);\
}\
static void OPNAME ## h264_qpel8_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
    OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(dst, tmp, src, dstStride, tmpStride, srcStride, 8);\
}\
static void OPNAME ## h264_qpel16_hv_lowpass_ ## MMX(uint8_t *dst, int16_t *tmp, uint8_t *src, int dstStride, int tmpStride, int srcStride){\
    OPNAME ## h264_qpel8or16_hv_lowpass_ ## MMX(dst, tmp, src, dstStride, tmpStride, srcStride, 16);\
}\

Definition at line 1895 of file h264dsp_mmx.c.

#define QPEL_H264_V_XMM ( OPNAME,
OP,
MMX   ) 

Definition at line 1688 of file h264dsp_mmx.c.

#define QPEL_H264HV ( A,
B,
C,
D,
E,
F,
OF   )     QPEL_H264HV_MM(A,B,C,D,E,F,OF,%%mm6,%%mm7,d,q)

Definition at line 957 of file h264dsp_mmx.c.

#define QPEL_H264HV_MM ( A,
B,
C,
D,
E,
F,
OF,
T,
Z,
d,
 ) 

Value:

"mov"#q" "#C", "#T"         \n\t"\
        "mov"#d" (%0), "#F"         \n\t"\
        "paddw "#D", "#T"           \n\t"\
        "psllw $2, "#T"             \n\t"\
        "paddw %4, "#A"             \n\t"\
        "psubw "#B", "#T"           \n\t"\
        "psubw "#E", "#T"           \n\t"\
        "punpcklbw "#Z", "#F"       \n\t"\
        "pmullw %3, "#T"            \n\t"\
        "paddw "#F", "#A"           \n\t"\
        "add %2, %0                 \n\t"\
        "paddw "#A", "#T"           \n\t"\
        "mov"#q" "#T", "#OF"(%1)    \n\t"

Definition at line 941 of file h264dsp_mmx.c.

#define QPEL_H264HV_XMM ( A,
B,
C,
D,
E,
F,
OF   )     QPEL_H264HV_MM(A,B,C,D,E,F,OF,%%xmm6,%%xmm7,q,dqa)

Definition at line 959 of file h264dsp_mmx.c.

Referenced by put_h264_qpel8or16_hv1_lowpass_sse2().

#define QPEL_H264V ( A,
B,
C,
D,
E,
F,
OP   )     QPEL_H264V_MM(A,B,C,D,E,F,OP,%%mm6,%%mm7,d,q)

Definition at line 956 of file h264dsp_mmx.c.

#define QPEL_H264V_MM ( A,
B,
C,
D,
E,
F,
OP,
T,
Z,
d,
 ) 

Value:

"mov"#q" "#C", "#T"         \n\t"\
        "mov"#d" (%0), "#F"         \n\t"\
        "paddw "#D", "#T"           \n\t"\
        "psllw $2, "#T"             \n\t"\
        "psubw "#B", "#T"           \n\t"\
        "psubw "#E", "#T"           \n\t"\
        "punpcklbw "#Z", "#F"       \n\t"\
        "pmullw %4, "#T"            \n\t"\
        "paddw %5, "#A"             \n\t"\
        "add %2, %0                 \n\t"\
        "paddw "#F", "#A"           \n\t"\
        "paddw "#A", "#T"           \n\t"\
        "psraw $5, "#T"             \n\t"\
        "packuswb "#T", "#T"        \n\t"\
        OP(T, (%1), A, d)\
        "add %3, %1                 \n\t"

Definition at line 923 of file h264dsp_mmx.c.

#define QPEL_H264V_XMM ( A,
B,
C,
D,
E,
F,
OP   )     QPEL_H264V_MM(A,B,C,D,E,F,OP,%%xmm6,%%xmm7,q,dqa)

Definition at line 958 of file h264dsp_mmx.c.

#define STORE_DIFF_4P ( p,
t,
 ) 

Value:

"psraw      $6,     "#p" \n\t"\
    "movd       (%0),   "#t" \n\t"\
    "punpcklbw "#z",    "#t" \n\t"\
    "paddsw    "#t",    "#p" \n\t"\
    "packuswb  "#z",    "#p" \n\t"\
    "movd      "#p",    (%0) \n\t"

Definition at line 49 of file h264dsp_mmx.c.

Referenced by ff_h264_idct_add_mmx().

#define STORE_DIFF_8P ( p,
d,
t,
 ) 

Value:

"movq       "#d", "#t" \n"\
        "psraw       $6,  "#p" \n"\
        "punpcklbw  "#z", "#t" \n"\
        "paddsw     "#t", "#p" \n"\
        "packuswb   "#p", "#p" \n"\
        "movq       "#p", "#d" \n"

Definition at line 217 of file h264dsp_mmx.c.

Referenced by ff_h264_idct8_add_sse2().

#define SUMSUB_BADC ( a,
b,
c,
 ) 

Value:

"paddw "#b", "#a" \n\t"\
    "paddw "#d", "#c" \n\t"\
    "paddw "#b", "#b" \n\t"\
    "paddw "#d", "#d" \n\t"\
    "psubw "#a", "#b" \n\t"\
    "psubw "#c", "#d" \n\t"

Definition at line 29 of file h264dsp_mmx.c.

#define SUMSUBD2_AB ( a,
b,
t   ) 

Value:

"movq  "#b", "#t" \n\t"\
    "psraw  $1 , "#b" \n\t"\
    "paddw "#a", "#b" \n\t"\
    "psraw  $1 , "#a" \n\t"\
    "psubw "#t", "#a" \n\t"

Definition at line 37 of file h264dsp_mmx.c.


Function Documentation

static void avg_h264_chroma_mc4_3dnow ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2178 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void avg_h264_chroma_mc4_mmx2 ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2156 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void avg_h264_chroma_mc8_3dnow_rnd ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2174 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void avg_h264_chroma_mc8_mmx2_rnd ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2148 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void avg_h264_qpel16_mc00_sse2 ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 1947 of file h264dsp_mmx.c.

static void avg_vc1_chroma_mc8_mmx2_nornd ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2152 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void ff_h264_biweight_WxH_mmx2 ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  log2_denom,
int  weightd,
int  weights,
int  offset,
int  w,
int  h 
) [inline, static]

Definition at line 2270 of file h264dsp_mmx.c.

static void ff_h264_idct8_add4_mmx ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 399 of file h264dsp_mmx.c.

static void ff_h264_idct8_add4_mmx2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 435 of file h264dsp_mmx.c.

static void ff_h264_idct8_add4_sse2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 446 of file h264dsp_mmx.c.

static void ff_h264_idct8_add_mmx ( uint8_t *  dst,
int16_t *  block,
int  stride 
) [static]

Definition at line 157 of file h264dsp_mmx.c.

Referenced by ff_h264_idct8_add4_mmx(), and ff_h264_idct8_add4_mmx2().

static void ff_h264_idct8_add_sse2 ( uint8_t *  dst,
int16_t *  block,
int  stride 
) [static]

Definition at line 270 of file h264dsp_mmx.c.

Referenced by ff_h264_idct8_add4_sse2().

static void ff_h264_idct8_dc_add_mmx2 ( uint8_t *  dst,
int16_t *  block,
int  stride 
) [static]

Definition at line 340 of file h264dsp_mmx.c.

Referenced by ff_h264_idct8_add4_mmx2(), and ff_h264_idct8_add4_sse2().

static void ff_h264_idct_add16_mmx ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 391 of file h264dsp_mmx.c.

static void ff_h264_idct_add16_mmx2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 408 of file h264dsp_mmx.c.

static void ff_h264_idct_add16intra_mmx ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 419 of file h264dsp_mmx.c.

static void ff_h264_idct_add16intra_mmx2 ( uint8_t *  dst,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 427 of file h264dsp_mmx.c.

static void ff_h264_idct_add8_mmx ( uint8_t **  dest,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 457 of file h264dsp_mmx.c.

static void ff_h264_idct_add8_mmx2 ( uint8_t **  dest,
const int *  block_offset,
DCTELEM block,
int  stride,
const uint8_t  nnzc[6 *8] 
) [static]

Definition at line 465 of file h264dsp_mmx.c.

static void ff_h264_idct_add_mmx ( uint8_t *  dst,
int16_t *  block,
int  stride 
) [static]

static void ff_h264_idct_dc_add_mmx2 ( uint8_t *  dst,
int16_t *  block,
int  stride 
) [static]

static void ff_h264_weight_WxH_mmx2 ( uint8_t *  dst,
int  stride,
int  log2_denom,
int  weight,
int  offset,
int  w,
int  h 
) [inline, static]

Definition at line 2231 of file h264dsp_mmx.c.

static void h264_h_loop_filter_chroma_intra_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha,
int  beta 
) [static]

Definition at line 785 of file h264dsp_mmx.c.

static void h264_h_loop_filter_chroma_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha,
int  beta,
int8_t *  tc0 
) [static]

Definition at line 734 of file h264dsp_mmx.c.

static void h264_h_loop_filter_luma_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha,
int  beta,
int8_t *  tc0 
) [static]

Definition at line 689 of file h264dsp_mmx.c.

static void h264_idct8_1d ( int16_t *  block  )  [inline, static]

Definition at line 96 of file h264dsp_mmx.c.

Referenced by ff_h264_idct8_add_mmx().

static void h264_loop_filter_chroma_intra_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha1,
int  beta1 
) [inline, static]

static void h264_loop_filter_chroma_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha1,
int  beta1,
int8_t *  tc0 
) [inline, static]

static void h264_loop_filter_luma_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha1,
int  beta1,
int8_t *  tc0 
) [inline, static]

Definition at line 629 of file h264dsp_mmx.c.

Referenced by h264_h_loop_filter_luma_mmx2(), and h264_v_loop_filter_luma_mmx2().

static void h264_loop_filter_strength_mmx2 ( int16_t  bS[2][4][4],
uint8_t  nnz[40],
int8_t  ref[2][40],
int16_t  mv[2][40][2],
int  bidir,
int  edges,
int  step,
int  mask_mv0,
int  mask_mv1,
int  field 
) [static]

Definition at line 796 of file h264dsp_mmx.c.

static void h264_v_loop_filter_chroma_intra_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha,
int  beta 
) [static]

Definition at line 780 of file h264dsp_mmx.c.

static void h264_v_loop_filter_chroma_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha,
int  beta,
int8_t *  tc0 
) [static]

Definition at line 729 of file h264dsp_mmx.c.

static void h264_v_loop_filter_luma_mmx2 ( uint8_t *  pix,
int  stride,
int  alpha,
int  beta,
int8_t *  tc0 
) [static]

Definition at line 682 of file h264dsp_mmx.c.

static void put_h264_chroma_mc4_mmx ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2128 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void put_h264_chroma_mc8_mmx_rnd ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2120 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().

static void put_h264_qpel16_mc00_sse2 ( uint8_t *  dst,
uint8_t *  src,
int  stride 
) [static]

Definition at line 1944 of file h264dsp_mmx.c.

static av_always_inline void put_h264_qpel8or16_hv1_lowpass_sse2 ( int16_t *  tmp,
uint8_t *  src,
int  tmpStride,
int  srcStride,
int  size 
) [static]

Definition at line 1747 of file h264dsp_mmx.c.

static void put_vc1_chroma_mc8_mmx_nornd ( uint8_t *  dst,
uint8_t *  src,
int  stride,
int  h,
int  x,
int  y 
) [static]

Definition at line 2124 of file h264dsp_mmx.c.

Referenced by dsputil_init_mmx().


Variable Documentation

const uint64_t ff_pb_3_1 = 0x0103010301030103ULL [static]

Definition at line 23 of file h264dsp_mmx.c.

Referenced by h264_loop_filter_strength_mmx2().

const uint64_t ff_pb_7_3 = 0x0307030703070307ULL [static]

Definition at line 24 of file h264dsp_mmx.c.

const uint64_t h264_rnd_reg[4] [static]

Initial value:

 {
    0x0020002000200020ULL, 0x0004000400040004ULL, 0x001C001C001C001CULL, 0x0003000300030003ULL
}

Definition at line 2109 of file h264dsp_mmx.c.

Referenced by avg_h264_chroma_mc4_3dnow(), avg_h264_chroma_mc4_mmx2(), avg_h264_chroma_mc8_3dnow_rnd(), avg_h264_chroma_mc8_mmx2_rnd(), avg_vc1_chroma_mc8_mmx2_nornd(), put_h264_chroma_mc4_mmx(), put_h264_chroma_mc8_mmx_rnd(), and put_vc1_chroma_mc8_mmx_nornd().

const uint8_t scan8[16+2 *4] [static]

Initial value:

{
 4+1*8, 5+1*8, 4+2*8, 5+2*8,
 6+1*8, 7+1*8, 6+2*8, 7+2*8,
 4+3*8, 5+3*8, 4+4*8, 5+4*8,
 6+3*8, 7+3*8, 6+4*8, 7+4*8,
 1+1*8, 2+1*8,
 1+2*8, 2+2*8,
 1+4*8, 2+4*8,
 1+5*8, 2+5*8,
}

Definition at line 380 of file h264dsp_mmx.c.


Generated on Fri Oct 26 02:36:54 2012 for FFmpeg by  doxygen 1.5.8