#include <stdint.h>
#include "libavcodec/dsputil.h"
#include "libavutil/x86_cpu.h"
Go to the source code of this file.
Data Structures | |
struct | xmm_reg |
Defines | |
#define | LOAD4(stride, in, a, b, c, d) |
#define | STORE4(stride, out, a, b, c, d) |
#define | SUMSUB_BA(a, b) |
#define | SBUTTERFLY(a, b, t, n, m) |
#define | TRANSPOSE4(a, b, c, d, t) |
#define | TRANSPOSE8x4(a, b, c, d, e, f, g, h, t) |
#define | TRANSPOSE8(a, b, c, d, e, f, g, h, t) |
#define | MOVQ_WONE(regd) |
Functions | |
static void | transpose4x4 (uint8_t *dst, uint8_t *src, x86_reg dst_stride, x86_reg src_stride) |
void | dsputilenc_init_mmx (DSPContext *c, AVCodecContext *avctx) |
void | dsputil_init_pix_mmx (DSPContext *c, AVCodecContext *avctx) |
void | ff_add_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size) |
void | ff_put_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size) |
void | ff_put_signed_pixels_clamped_mmx (const DCTELEM *block, uint8_t *pixels, int line_size) |
void | ff_put_cavs_qpel8_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride) |
void | ff_avg_cavs_qpel8_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride) |
void | ff_put_cavs_qpel16_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride) |
void | ff_avg_cavs_qpel16_mc00_mmx2 (uint8_t *dst, uint8_t *src, int stride) |
void | ff_put_vc1_mspel_mc00_mmx (uint8_t *dst, const uint8_t *src, int stride, int rnd) |
void | ff_avg_vc1_mspel_mc00_mmx2 (uint8_t *dst, const uint8_t *src, int stride, int rnd) |
void | ff_mmx_idct (DCTELEM *block) |
void | ff_mmxext_idct (DCTELEM *block) |
void | ff_deinterlace_line_mmx (uint8_t *dst, const uint8_t *lum_m4, const uint8_t *lum_m3, const uint8_t *lum_m2, const uint8_t *lum_m1, const uint8_t *lum, int size) |
void | ff_deinterlace_line_inplace_mmx (const uint8_t *lum_m4, const uint8_t *lum_m3, const uint8_t *lum_m2, const uint8_t *lum_m1, const uint8_t *lum, int size) |
Variables | |
const uint64_t | ff_bone |
const uint64_t | ff_wtwo |
const uint64_t | ff_pdw_80000000 [2] |
const xmm_reg | ff_pw_3 |
const xmm_reg | ff_pw_4 |
const xmm_reg | ff_pw_5 |
const xmm_reg | ff_pw_8 |
const uint64_t | ff_pw_15 |
const xmm_reg | ff_pw_16 |
const xmm_reg | ff_pw_18 |
const uint64_t | ff_pw_20 |
const xmm_reg | ff_pw_27 |
const xmm_reg | ff_pw_28 |
const xmm_reg | ff_pw_32 |
const uint64_t | ff_pw_42 |
const uint64_t | ff_pw_53 |
const xmm_reg | ff_pw_63 |
const xmm_reg | ff_pw_64 |
const uint64_t | ff_pw_96 |
const uint64_t | ff_pw_128 |
const uint64_t | ff_pw_255 |
const xmm_reg | ff_pb_1 |
const xmm_reg | ff_pb_3 |
const uint64_t | ff_pb_7 |
const uint64_t | ff_pb_1F |
const uint64_t | ff_pb_3F |
const uint64_t | ff_pb_81 |
const xmm_reg | ff_pb_A1 |
const xmm_reg | ff_pb_F8 |
const uint64_t | ff_pb_FC |
const xmm_reg | ff_pb_FE |
const double | ff_pd_1 [2] |
const double | ff_pd_2 [2] |
#define MOVQ_WONE | ( | regd | ) |
Value:
__asm__ volatile ( \ "pcmpeqd %%" #regd ", %%" #regd " \n\t" \ "psrlw $15, %%" #regd ::)
Definition at line 183 of file dsputil_mmx.h.
#define SBUTTERFLY | ( | a, | |||
b, | |||||
t, | |||||
n, | |||||
m | ) |
#define SUMSUB_BA | ( | a, | |||
b | ) |
Value:
SBUTTERFLY(a,b,t,wd,q) /* a=aebf t=cgdh */\ SBUTTERFLY(c,d,b,wd,q) /* c=imjn b=kolp */\ SBUTTERFLY(a,c,d,dq,q) /* a=aeim d=bfjn */\ SBUTTERFLY(t,b,c,dq,q)
Definition at line 93 of file dsputil_mmx.h.
Value:
"movdqa "#h", "#t" \n\t"\ SBUTTERFLY(a,b,h,wd,dqa)\ "movdqa "#h", 16"#t" \n\t"\ "movdqa "#t", "#h" \n\t"\ SBUTTERFLY(c,d,b,wd,dqa)\ SBUTTERFLY(e,f,d,wd,dqa)\ SBUTTERFLY(g,h,f,wd,dqa)\ SBUTTERFLY(a,c,h,dq,dqa)\ "movdqa "#h", "#t" \n\t"\ "movdqa 16"#t", "#h" \n\t"\ SBUTTERFLY(h,b,c,dq,dqa)\ SBUTTERFLY(e,g,b,dq,dqa)\ SBUTTERFLY(d,f,g,dq,dqa)\ SBUTTERFLY(a,e,f,qdq,dqa)\ SBUTTERFLY(h,d,e,qdq,dqa)\ "movdqa "#h", 16"#t" \n\t"\ "movdqa "#t", "#h" \n\t"\ SBUTTERFLY(h,b,d,qdq,dqa)\ SBUTTERFLY(c,g,b,qdq,dqa)\ "movdqa 16"#t", "#g" \n\t"
Definition at line 160 of file dsputil_mmx.h.
Value:
"punpcklbw " #e ", " #a " \n\t" /* a0 e0 a1 e1 a2 e2 a3 e3 */\ "punpcklbw " #f ", " #b " \n\t" /* b0 f0 b1 f1 b2 f2 b3 f3 */\ "punpcklbw " #g ", " #c " \n\t" /* c0 g0 c1 g1 c2 g2 d3 g3 */\ "punpcklbw " #h ", " #d " \n\t" /* d0 h0 d1 h1 d2 h2 d3 h3 */\ SBUTTERFLY(a, b, t, bw, q) /* a= a0 b0 e0 f0 a1 b1 e1 f1 */\ /* t= a2 b2 e2 f2 a3 b3 e3 f3 */\ SBUTTERFLY(c, d, b, bw, q) /* c= c0 d0 g0 h0 c1 d1 g1 h1 */\ /* b= c2 d2 g2 h2 c3 d3 g3 h3 */\ SBUTTERFLY(a, c, d, wd, q) /* a= a0 b0 c0 d0 e0 f0 g0 h0 */\ /* d= a1 b1 c1 d1 e1 f1 g1 h1 */\ SBUTTERFLY(t, b, c, wd, q) /* t= a2 b2 c2 d2 e2 f2 g2 h2 */\
Definition at line 129 of file dsputil_mmx.h.
void dsputil_init_pix_mmx | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void dsputilenc_init_mmx | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
void ff_add_pixels_clamped_mmx | ( | const DCTELEM * | block, | |
uint8_t * | pixels, | |||
int | line_size | |||
) |
Definition at line 324 of file dsputil_mmx.c.
Referenced by cavs_idct8_add_mmx(), dsputil_init_mmx(), ff_idct_xvid_mmx2_add(), ff_idct_xvid_mmx_add(), ff_idct_xvid_sse2_add(), and ff_simple_idct_add_mmx().
void ff_avg_cavs_qpel16_mc00_mmx2 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | stride | |||
) |
Definition at line 1869 of file dsputil_mmx.c.
void ff_avg_cavs_qpel8_mc00_mmx2 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | stride | |||
) |
Definition at line 1863 of file dsputil_mmx.c.
void ff_avg_vc1_mspel_mc00_mmx2 | ( | uint8_t * | dst, | |
const uint8_t * | src, | |||
int | stride, | |||
int | rnd | |||
) |
void ff_deinterlace_line_inplace_mmx | ( | const uint8_t * | lum_m4, | |
const uint8_t * | lum_m3, | |||
const uint8_t * | lum_m2, | |||
const uint8_t * | lum_m1, | |||
const uint8_t * | lum, | |||
int | size | |||
) |
void ff_deinterlace_line_mmx | ( | uint8_t * | dst, | |
const uint8_t * | lum_m4, | |||
const uint8_t * | lum_m3, | |||
const uint8_t * | lum_m2, | |||
const uint8_t * | lum_m1, | |||
const uint8_t * | lum, | |||
int | size | |||
) |
void ff_mmx_idct | ( | DCTELEM * | block | ) |
void ff_mmxext_idct | ( | DCTELEM * | block | ) |
void ff_put_cavs_qpel16_mc00_mmx2 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | stride | |||
) |
Definition at line 1866 of file dsputil_mmx.c.
void ff_put_cavs_qpel8_mc00_mmx2 | ( | uint8_t * | dst, | |
uint8_t * | src, | |||
int | stride | |||
) |
Definition at line 1860 of file dsputil_mmx.c.
void ff_put_pixels_clamped_mmx | ( | const DCTELEM * | block, | |
uint8_t * | pixels, | |||
int | line_size | |||
) |
Definition at line 235 of file dsputil_mmx.c.
Referenced by dsputil_init_mmx(), ff_idct_xvid_mmx2_put(), ff_idct_xvid_mmx_put(), ff_idct_xvid_sse2_put(), and ff_simple_idct_put_mmx().
void ff_put_signed_pixels_clamped_mmx | ( | const DCTELEM * | block, | |
uint8_t * | pixels, | |||
int | line_size | |||
) |
void ff_put_vc1_mspel_mc00_mmx | ( | uint8_t * | dst, | |
const uint8_t * | src, | |||
int | stride, | |||
int | rnd | |||
) |
const uint64_t ff_bone |
Definition at line 39 of file dsputil_mmx.c.
const uint64_t ff_pb_1F |
Definition at line 73 of file dsputil_mmx.c.
const uint64_t ff_pb_3F |
Definition at line 74 of file dsputil_mmx.c.
const uint64_t ff_pb_7 |
Definition at line 72 of file dsputil_mmx.c.
const uint64_t ff_pb_81 |
Definition at line 76 of file dsputil_mmx.c.
Definition at line 77 of file dsputil_mmx.c.
Definition at line 78 of file dsputil_mmx.c.
const uint64_t ff_pb_FC |
Definition at line 79 of file dsputil_mmx.c.
Referenced by h263_h_loop_filter_mmx(), and h263_v_loop_filter_mmx().
Definition at line 80 of file dsputil_mmx.c.
const double ff_pd_1[2] |
Definition at line 82 of file dsputil_mmx.c.
Referenced by lpc_apply_welch_window_sse2(), and lpc_compute_autocorr_sse2().
const double ff_pd_2[2] |
const uint64_t ff_pdw_80000000[2] |
const uint64_t ff_pw_128 |
Definition at line 65 of file dsputil_mmx.c.
const uint64_t ff_pw_15 |
Definition at line 52 of file dsputil_mmx.c.
Definition at line 53 of file dsputil_mmx.c.
Definition at line 55 of file dsputil_mmx.c.
const uint64_t ff_pw_20 |
Definition at line 56 of file dsputil_mmx.c.
const uint64_t ff_pw_255 |
Definition at line 66 of file dsputil_mmx.c.
Definition at line 57 of file dsputil_mmx.c.
Definition at line 58 of file dsputil_mmx.c.
Definition at line 47 of file dsputil_mmx.c.
Definition at line 59 of file dsputil_mmx.c.
const uint64_t ff_pw_42 |
Definition at line 60 of file dsputil_mmx.c.
Definition at line 49 of file dsputil_mmx.c.
const uint64_t ff_pw_53 |
Definition at line 61 of file dsputil_mmx.c.
Definition at line 62 of file dsputil_mmx.c.
Definition at line 50 of file dsputil_mmx.c.
const uint64_t ff_pw_96 |
Definition at line 64 of file dsputil_mmx.c.
const uint64_t ff_wtwo |
Definition at line 40 of file dsputil_mmx.c.