#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_HL2_XMM(OPNAME, OP, MMX) |
| #define | QPEL_H264_XMM(OPNAME, OP, MMX) |
| #define | put_pixels8_ssse3 put_pixels8_mmx2 |
| #define | put_pixels16_ssse3 put_pixels16_sse2 |
| #define | avg_pixels8_ssse3 avg_pixels8_mmx2 |
| #define | avg_pixels16_ssse3 avg_pixels16_sse2 |
| #define | put_pixels8_l2_ssse3 put_pixels8_l2_mmx2 |
| #define | put_pixels16_l2_ssse3 put_pixels16_l2_mmx2 |
| #define | avg_pixels8_l2_ssse3 avg_pixels8_l2_mmx2 |
| #define | avg_pixels16_l2_ssse3 avg_pixels16_l2_mmx2 |
| #define | put_pixels8_l2_shift5_ssse3 put_pixels8_l2_shift5_mmx2 |
| #define | put_pixels16_l2_shift5_ssse3 put_pixels16_l2_shift5_mmx2 |
| #define | avg_pixels8_l2_shift5_ssse3 avg_pixels8_l2_shift5_mmx2 |
| #define | avg_pixels16_l2_shift5_ssse3 avg_pixels16_l2_shift5_mmx2 |
| #define | put_h264_qpel8_h_lowpass_ssse3 put_h264_qpel8_h_lowpass_mmx2 |
| #define | put_h264_qpel16_h_lowpass_ssse3 put_h264_qpel16_h_lowpass_mmx2 |
| #define | avg_h264_qpel8_h_lowpass_ssse3 avg_h264_qpel8_h_lowpass_mmx2 |
| #define | avg_h264_qpel16_h_lowpass_ssse3 avg_h264_qpel16_h_lowpass_mmx2 |
| #define | H264_MC(OPNAME, SIZE, MMX, ALIGN) |
| #define | AVG_3DNOW_OP(a, b, temp, size) |
| #define | AVG_MMX2_OP(a, b, temp, size) |
| #define | PAVGB "pavgusb" |
| #define | PAVGB "pavgb" |
| #define | put_h264_qpel8_mc20_ssse3 put_h264_qpel8_mc20_mmx2 |
| #define | put_h264_qpel16_mc20_ssse3 put_h264_qpel16_mc20_mmx2 |
| #define | avg_h264_qpel8_mc20_ssse3 avg_h264_qpel8_mc20_mmx2 |
| #define | avg_h264_qpel16_mc20_ssse3 avg_h264_qpel16_mc20_mmx2 |
| #define | H264_CHROMA_OP(S, D) |
| #define | H264_CHROMA_OP4(S, D, T) |
| #define | H264_CHROMA_MC8_TMPL put_h264_chroma_mc8_mmx |
| #define | H264_CHROMA_MC4_TMPL put_h264_chroma_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_mc8_mmx2 |
| #define | H264_CHROMA_MC4_TMPL avg_h264_chroma_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_mc8_3dnow |
| #define | H264_CHROMA_MC4_TMPL avg_h264_chroma_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 | 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) |
| 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_h264_chroma_mc8_mmx_nornd (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_h264_chroma_mc8_3dnow_rnd (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) |
| #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 1773 of file h264dsp_mmx.c.
| #define avg_h264_qpel16_h_lowpass_ssse3 avg_h264_qpel16_h_lowpass_mmx2 |
Definition at line 1665 of file h264dsp_mmx.c.
| #define avg_h264_qpel16_mc20_ssse3 avg_h264_qpel16_mc20_mmx2 |
Definition at line 1819 of file h264dsp_mmx.c.
| #define avg_h264_qpel8_h_lowpass_ssse3 avg_h264_qpel8_h_lowpass_mmx2 |
Definition at line 1664 of file h264dsp_mmx.c.
| #define avg_h264_qpel8_mc20_ssse3 avg_h264_qpel8_mc20_mmx2 |
Definition at line 1818 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 1777 of file h264dsp_mmx.c.
| #define avg_pixels16_l2_shift5_ssse3 avg_pixels16_l2_shift5_mmx2 |
Definition at line 1660 of file h264dsp_mmx.c.
| #define avg_pixels16_l2_ssse3 avg_pixels16_l2_mmx2 |
Definition at line 1655 of file h264dsp_mmx.c.
| #define avg_pixels16_ssse3 avg_pixels16_sse2 |
Definition at line 1650 of file h264dsp_mmx.c.
| #define avg_pixels8_l2_shift5_ssse3 avg_pixels8_l2_shift5_mmx2 |
Definition at line 1659 of file h264dsp_mmx.c.
| #define avg_pixels8_l2_ssse3 avg_pixels8_l2_mmx2 |
Definition at line 1654 of file h264dsp_mmx.c.
| #define avg_pixels8_ssse3 avg_pixels8_mmx2 |
Definition at line 1649 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 392 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 382 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC2_TMPL avg_h264_chroma_mc2_mmx2 |
Definition at line 1850 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC2_TMPL put_h264_chroma_mc2_mmx2 |
Definition at line 1850 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC4_TMPL avg_h264_chroma_mc4_3dnow |
Definition at line 1868 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC4_TMPL avg_h264_chroma_mc4_mmx2 |
Definition at line 1868 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC4_TMPL put_h264_chroma_mc4_mmx |
Definition at line 1868 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC8_MV0 avg_pixels8_3dnow |
Definition at line 1869 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC8_MV0 avg_pixels8_mmx2 |
Definition at line 1869 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC8_MV0 put_pixels8_mmx |
| #define H264_CHROMA_MC8_TMPL avg_h264_chroma_mc8_3dnow |
Definition at line 1867 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC8_TMPL avg_h264_chroma_mc8_mmx2 |
Definition at line 1867 of file h264dsp_mmx.c.
| #define H264_CHROMA_MC8_TMPL put_h264_chroma_mc8_mmx |
Definition at line 1867 of file h264dsp_mmx.c.
Definition at line 1864 of file h264dsp_mmx.c.
Definition at line 1864 of file h264dsp_mmx.c.
| #define H264_CHROMA_OP | ( | S, | |||
| D | ) |
| #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 404 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 420 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 %8, "#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 445 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 576 of file h264dsp_mmx.c.
Referenced by h264_loop_filter_chroma_intra_mmx2().
| #define H264_MC | ( | OPNAME, | |||
| SIZE, | |||||
| MMX, | |||||
| ALIGN | ) |
Definition at line 1667 of file h264dsp_mmx.c.
| #define H264_WEIGHT | ( | W, | |||
| H | ) |
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 1961 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 41 of file h264dsp_mmx.c.
Referenced by ff_h264_idct_add_mmx().
| #define PAVGB "pavgb" |
Definition at line 1786 of file h264dsp_mmx.c.
| #define PAVGB "pavgusb" |
Definition at line 1786 of file h264dsp_mmx.c.
| #define put_h264_qpel16_h_lowpass_ssse3 put_h264_qpel16_h_lowpass_mmx2 |
Definition at line 1663 of file h264dsp_mmx.c.
| #define put_h264_qpel16_mc20_ssse3 put_h264_qpel16_mc20_mmx2 |
Definition at line 1817 of file h264dsp_mmx.c.
| #define put_h264_qpel8_h_lowpass_ssse3 put_h264_qpel8_h_lowpass_mmx2 |
Definition at line 1662 of file h264dsp_mmx.c.
| #define put_h264_qpel8_mc20_ssse3 put_h264_qpel8_mc20_mmx2 |
Definition at line 1816 of file h264dsp_mmx.c.
| #define put_pixels16_l2_shift5_ssse3 put_pixels16_l2_shift5_mmx2 |
Definition at line 1658 of file h264dsp_mmx.c.
| #define put_pixels16_l2_ssse3 put_pixels16_l2_mmx2 |
Definition at line 1653 of file h264dsp_mmx.c.
| #define put_pixels16_ssse3 put_pixels16_sse2 |
Definition at line 1648 of file h264dsp_mmx.c.
| #define put_pixels8_l2_shift5_ssse3 put_pixels8_l2_shift5_mmx2 |
Definition at line 1657 of file h264dsp_mmx.c.
| #define put_pixels8_l2_ssse3 put_pixels8_l2_mmx2 |
Definition at line 1652 of file h264dsp_mmx.c.
| #define put_pixels8_ssse3 put_pixels8_mmx2 |
Definition at line 1647 of file h264dsp_mmx.c.
| #define QPEL_H264 | ( | OPNAME, | |||
| OP, | |||||
| MMX | ) |
Definition at line 764 of file h264dsp_mmx.c.
| #define QPEL_H264_HL2_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 1377 of file h264dsp_mmx.c.
| #define QPEL_H264_XMM | ( | OPNAME, | |||
| OP, | |||||
| MMX | ) |
Definition at line 1389 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 759 of file h264dsp_mmx.c.
| #define QPEL_H264HV_MM | ( | A, | |||
| B, | |||||
| C, | |||||
| D, | |||||
| E, | |||||
| F, | |||||
| OF, | |||||
| T, | |||||
| Z, | |||||
| d, | |||||
| q | ) |
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 743 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 761 of file h264dsp_mmx.c.
| #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 758 of file h264dsp_mmx.c.
| #define QPEL_H264V_MM | ( | A, | |||
| B, | |||||
| C, | |||||
| D, | |||||
| E, | |||||
| F, | |||||
| OP, | |||||
| T, | |||||
| Z, | |||||
| d, | |||||
| q | ) |
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 725 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 760 of file h264dsp_mmx.c.
| #define STORE_DIFF_4P | ( | p, | |||
| t, | |||||
| z | ) |
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 46 of file h264dsp_mmx.c.
Referenced by ff_h264_idct_add_mmx().
| #define STORE_DIFF_8P | ( | p, | |||
| d, | |||||
| t, | |||||
| z | ) |
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 214 of file h264dsp_mmx.c.
Referenced by ff_h264_idct8_add_sse2().
| #define SUMSUB_BADC | ( | a, | |||
| b, | |||||
| c, | |||||
| d | ) |
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 26 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 34 of file h264dsp_mmx.c.
| 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 1923 of file h264dsp_mmx.c.
| static void ff_h264_idct8_add_mmx | ( | uint8_t * | dst, | |
| int16_t * | block, | |||
| int | stride | |||
| ) | [static] |
| static void ff_h264_idct8_add_sse2 | ( | uint8_t * | dst, | |
| int16_t * | block, | |||
| int | stride | |||
| ) | [static] |
| static void ff_h264_idct8_dc_add_mmx2 | ( | uint8_t * | dst, | |
| int16_t * | block, | |||
| int | stride | |||
| ) | [static] |
| 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 1884 of file h264dsp_mmx.c.
| static void h264_h_loop_filter_chroma_intra_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha, | |||
| int | beta | |||
| ) | [static] |
| static void h264_h_loop_filter_chroma_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha, | |||
| int | beta, | |||
| int8_t * | tc0 | |||
| ) | [static] |
| static void h264_h_loop_filter_luma_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha, | |||
| int | beta, | |||
| int8_t * | tc0 | |||
| ) | [static] |
| static void h264_idct8_1d | ( | int16_t * | block | ) | [inline, static] |
| static void h264_loop_filter_chroma_intra_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha1, | |||
| int | beta1 | |||
| ) | [inline, static] |
Definition at line 585 of file h264dsp_mmx.c.
Referenced by h264_h_loop_filter_chroma_intra_mmx2(), and h264_v_loop_filter_chroma_intra_mmx2().
| static void h264_loop_filter_chroma_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha1, | |||
| int | beta1, | |||
| int8_t * | tc0 | |||
| ) | [inline, static] |
Definition at line 538 of file h264dsp_mmx.c.
Referenced by h264_h_loop_filter_chroma_mmx2(), and h264_v_loop_filter_chroma_mmx2().
| static void h264_loop_filter_luma_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha1, | |||
| int | beta1, | |||
| int8_t * | tc0 | |||
| ) | [inline, static] |
Definition at line 459 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 | |||
| ) | [static] |
| static void h264_v_loop_filter_chroma_intra_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha, | |||
| int | beta | |||
| ) | [static] |
| static void h264_v_loop_filter_chroma_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha, | |||
| int | beta, | |||
| int8_t * | tc0 | |||
| ) | [static] |
| static void h264_v_loop_filter_luma_mmx2 | ( | uint8_t * | pix, | |
| int | stride, | |||
| int | alpha, | |||
| int | beta, | |||
| int8_t * | tc0 | |||
| ) | [static] |
1.5.6