00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include <inttypes.h>
00030
00031
00032 #ifdef X86_CPU
00033
00034
00035 int mblock_sub44_dists_mmxe( uint8_t *blk, uint8_t *ref,
00036 int ilow, int jlow,
00037 int ihigh, int jhigh,
00038 int h, int rowstride,
00039 int threshold,
00040 mc_result_s *resvec);
00041 int mblock_sub44_dists_mmx( uint8_t *blk, uint8_t *ref,
00042 int ilow, int jlow,
00043 int ihigh, int jhigh,
00044 int threshold,
00045 int h, int rowstride, mc_result_s *resvec);
00046
00047 int quant_non_intra_hv_3dnow( struct pict_data *picture,int16_t *src, int16_t *dst,
00048 int mquant, int *nonsat_mquant);
00049 int quant_non_intra_hv_sse( struct pict_data *picture,int16_t *src, int16_t *dst,
00050 int mquant, int *nonsat_mquant);
00051 int quant_non_intra_hv_mmx( struct pict_data *picture,int16_t *src, int16_t *dst,
00052 int mquant, int *nonsat_mquant);
00053
00054 int quantize_ni_mmx(short *dst, short *src, short *quant_mat,
00055 short *i_quant_mat,
00056 int imquant, int mquant, int sat_limit);
00057 int quant_weight_coeff_sum_mmx (short *blk, unsigned short*i_quant_mat );
00058 int cpuid_flags();
00059
00060 void iquant_non_intra_m1_sse(int16_t *src, int16_t *dst, uint16_t *qmat);
00061 void iquant_non_intra_m1_mmx(int16_t *src, int16_t *dst, uint16_t *qmat);
00062
00063 int dist1_00_mmxe(uint8_t *blk1, uint8_t *blk2, int lx, int h, int distlim);
00064 int dist1_01_mmxe(uint8_t *blk1, uint8_t *blk2, int lx, int h);
00065 int dist1_10_mmxe(uint8_t *blk1, uint8_t *blk2, int lx, int h);
00066 int dist1_11_mmxe(uint8_t *blk1, uint8_t *blk2, int lx, int h);
00067
00068 void mblockq_dist1_mmxe(uint8_t *blk1, uint8_t *blk2, int lx, int h, int *resvec);
00069 void mblockq_dist22_mmxe(unsigned char *blk1,unsigned char *blk2,int flx,int fh, int* resvec);
00070
00071 int dist22_mmxe ( uint8_t *blk1, uint8_t *blk2, int flx, int fh);
00072 int dist44_mmxe ( uint8_t *blk1, uint8_t *blk2, int flx, int fh);
00073 int dist2_mmx( uint8_t *blk1, uint8_t *blk2,
00074 int lx, int hx, int hy, int h);
00075 int dist2_22_mmx( uint8_t *blk1, uint8_t *blk2,
00076 int lx, int h);
00077 int bdist2_22_mmx( uint8_t *blk1f, uint8_t *blk1b,
00078 uint8_t *blk2,
00079 int lx, int h);
00080 int bdist2_mmx (uint8_t *pf, uint8_t *pb,
00081 uint8_t *p2, int lx,
00082 int hxf, int hyf, int hxb, int hyb, int h);
00083 int bdist1_mmx (uint8_t *pf, uint8_t *pb,
00084 uint8_t *p2, int lx,
00085 int hxf, int hyf, int hxb, int hyb, int h);
00086
00087
00088 int dist1_00_mmx ( uint8_t *blk1, uint8_t *blk2, int lx, int h, int distlim);
00089 int dist1_01_mmx(uint8_t *blk1, uint8_t *blk2, int lx, int h);
00090 int dist1_10_mmx(uint8_t *blk1, uint8_t *blk2, int lx, int h);
00091 int dist1_11_mmx(uint8_t *blk1, uint8_t *blk2, int lx, int h);
00092 int dist22_mmx ( uint8_t *blk1, uint8_t *blk2, int flx, int fh);
00093 int dist44_mmx (uint8_t *blk1, uint8_t *blk2, int qlx, int qh);
00094 int dist2_mmx ( uint8_t *blk1, uint8_t *blk2,
00095 int lx, int hx, int hy, int h);
00096 int bdist2_mmx (uint8_t *pf, uint8_t *pb,
00097 uint8_t *p2, int lx,
00098 int hxf, int hyf, int hxb, int hyb, int h);
00099 int bdist1_mmx (uint8_t *pf, uint8_t *pb,
00100 uint8_t *p2, int lx,
00101 int hxf, int hyf, int hxb, int hyb, int h);
00102
00103 void predcomp_00_mmxe(char *src,char *dst,int lx, int w, int h, int addflag);
00104 void predcomp_10_mmxe(char *src,char *dst,int lx, int w, int h, int addflag);
00105 void predcomp_11_mmxe(char *src,char *dst,int lx, int w, int h, int addflag);
00106 void predcomp_01_mmxe(char *src,char *dst,int lx, int w, int h, int addflag);
00107
00108 void predcomp_00_mmx(char *src,char *dst,int lx, int w, int h, int addflag);
00109 void predcomp_10_mmx(char *src,char *dst,int lx, int w, int h, int addflag);
00110 void predcomp_11_mmx(char *src,char *dst,int lx, int w, int h, int addflag);
00111 void predcomp_01_mmx(char *src,char *dst,int lx, int w, int h, int addflag);
00112
00113 #endif