#include <stdint.h>
#include "libavcodec/dsputil.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 | |
void | dsputilenc_init_mmx (DSPContext *c, AVCodecContext *avctx) |
Variables | |
const uint64_t | ff_bone |
const uint64_t | ff_wtwo |
const uint64_t | ff_pdw_80000000 [2] |
const uint64_t | ff_pw_3 |
const uint64_t | 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 uint64_t | ff_pw_20 |
const xmm_reg | ff_pw_28 |
const xmm_reg | ff_pw_32 |
const uint64_t | ff_pw_42 |
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 uint64_t | ff_pb_1 |
const uint64_t | 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 uint64_t | ff_pb_A1 |
const uint64_t | ff_pb_FC |
const double | ff_pd_1 [2] |
const double | ff_pd_2 [2] |
#define LOAD4 | ( | stride, | |||
in, | |||||
a, | |||||
b, | |||||
c, | |||||
d | ) |
#define MOVQ_WONE | ( | regd | ) |
Value:
__asm__ volatile ( \ "pcmpeqd %%" #regd ", %%" #regd " \n\t" \ "psrlw $15, %%" #regd ::)
Definition at line 148 of file dsputil_mmx.h.
#define SBUTTERFLY | ( | a, | |||
b, | |||||
t, | |||||
n, | |||||
m | ) |
Value:
"mov" #m " " #a ", " #t " \n\t" /* abcd */\ "punpckl" #n " " #b ", " #a " \n\t" /* aebf */\ "punpckh" #n " " #b ", " #t " \n\t"
Definition at line 80 of file dsputil_mmx.h.
Referenced by ff_vp3_h_loop_filter_mmx2().
#define STORE4 | ( | stride, | |||
out, | |||||
a, | |||||
b, | |||||
c, | |||||
d | ) |
#define SUMSUB_BA | ( | a, | |||
b | ) |
Value:
"paddw "#b", "#a" \n\t"\ "paddw "#b", "#b" \n\t"\ "psubw "#a", "#b" \n\t"
Definition at line 75 of file dsputil_mmx.h.
Referenced by cavs_idct8_1d(), and h264_idct8_1d().
#define TRANSPOSE4 | ( | a, | |||
b, | |||||
c, | |||||
d, | |||||
t | ) |
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 86 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 125 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 94 of file dsputil_mmx.h.
Referenced by ff_vp3_h_loop_filter_mmx2().
void dsputilenc_init_mmx | ( | DSPContext * | c, | |
AVCodecContext * | avctx | |||
) |
const uint64_t ff_bone |
const uint64_t ff_pb_1 |
Referenced by h264_loop_filter_strength_mmx2().
const uint64_t ff_pb_1F |
const uint64_t ff_pb_3 |
Referenced by h264_loop_filter_strength_mmx2().
const uint64_t ff_pb_3F |
Referenced by h264_loop_filter_chroma_mmx2().
const uint64_t ff_pb_7 |
Referenced by h264_loop_filter_strength_mmx2().
const uint64_t ff_pb_81 |
const uint64_t ff_pb_A1 |
const uint64_t ff_pb_FC |
Referenced by h263_h_loop_filter_mmx(), and h263_v_loop_filter_mmx().
const double ff_pd_1[2] |
Referenced by apply_welch_window_sse2(), and ff_flac_compute_autocorr_sse2().
const double ff_pd_2[2] |
Referenced by apply_welch_window_sse2().
const uint64_t ff_pdw_80000000[2] |
Referenced by vorbis_inverse_coupling_sse().
const uint64_t ff_pw_128 |
Referenced by vc1_put_hor_16b_shift2_mmx().
const uint64_t ff_pw_15 |
Referenced by put_h264_qpel8or16_hv1_lowpass_sse2().
const uint64_t ff_pw_20 |
const uint64_t ff_pw_255 |
Referenced by H264_CHROMA_MC8_TMPL().
const uint64_t ff_pw_3 |
Referenced by H264_CHROMA_MC8_TMPL().
Referenced by ff_h264_idct8_add_sse2(), ff_h264_idct_add_mmx(), H264_CHROMA_MC4_TMPL(), and H264_CHROMA_MC8_TMPL().
const uint64_t ff_pw_4 |
Referenced by cavs_idct8_add_mmx(), deinterlace_line(), deinterlace_line_inplace(), and H264_CHROMA_MC8_TMPL().
const uint64_t ff_pw_42 |
Referenced by put_h264_qpel8or16_hv1_lowpass_sse2().
Referenced by cavs_idct8_add_mmx(), ff_vp6_filter_diag4_mmx(), and H264_CHROMA_MC8_TMPL().
Referenced by ff_vp3_idct_mmx(), ff_vp3_idct_sse2(), H264_CHROMA_MC4_TMPL(), and H264_CHROMA_MC8_TMPL().
const uint64_t ff_pw_96 |
const uint64_t ff_wtwo |