|
|
|
@ -71,7 +71,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc00_ ## CODETYPE (uint8_t *dst, uin |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc10_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){ \
|
|
|
|
|
uint64_t temp[SIZE*SIZE/8] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/8]);\
|
|
|
|
|
uint8_t * const half= (uint8_t*)temp;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
|
|
|
|
|
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src, half, stride, stride, SIZE);\
|
|
|
|
@ -82,14 +82,14 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc20_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc30_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/8] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/8]);\
|
|
|
|
|
uint8_t * const half= (uint8_t*)temp;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
|
|
|
|
|
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src+1, half, stride, stride, SIZE);\
|
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc01_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/8] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/8]);\
|
|
|
|
|
uint8_t * const half= (uint8_t*)temp;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
|
|
|
|
|
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src, half, stride, stride, SIZE);\
|
|
|
|
@ -100,14 +100,14 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc02_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc03_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/8] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/8]);\
|
|
|
|
|
uint8_t * const half= (uint8_t*)temp;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _v_lowpass_ ## CODETYPE(half, src, SIZE, stride);\
|
|
|
|
|
OPNAME ## pixels ## SIZE ## _l2_ ## CODETYPE(dst, src+stride, half, stride, stride, SIZE);\
|
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfH= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(halfH, src, SIZE, stride);\
|
|
|
|
@ -116,7 +116,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc11_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfH= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(halfH, src, SIZE, stride);\
|
|
|
|
@ -125,7 +125,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc31_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfH= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(halfH, src + stride, SIZE, stride);\
|
|
|
|
@ -134,7 +134,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc13_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfH= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
put_h264_qpel ## SIZE ## _h_lowpass_ ## CODETYPE(halfH, src + stride, SIZE, stride);\
|
|
|
|
@ -143,13 +143,13 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc33_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc22_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*(SIZE+8)/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*(SIZE+8)/4]);\
|
|
|
|
|
int16_t * const tmp= (int16_t*)temp;\
|
|
|
|
|
OPNAME ## h264_qpel ## SIZE ## _hv_lowpass_ ## CODETYPE(dst, tmp, src, stride, SIZE, stride);\
|
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfH= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfHV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE;\
|
|
|
|
@ -159,7 +159,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc21_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfH= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfHV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE;\
|
|
|
|
@ -169,7 +169,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc23_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfV= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfHV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE;\
|
|
|
|
@ -179,7 +179,7 @@ static void OPNAME ## h264_qpel ## SIZE ## _mc12_ ## CODETYPE(uint8_t *dst, uint |
|
|
|
|
}\
|
|
|
|
|
\
|
|
|
|
|
static void OPNAME ## h264_qpel ## SIZE ## _mc32_ ## CODETYPE(uint8_t *dst, uint8_t *src, int stride){\
|
|
|
|
|
uint64_t temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4] __align16;\
|
|
|
|
|
DECLARE_ALIGNED_16(uint64_t, temp[SIZE*(SIZE+8)/4 + SIZE*SIZE/4]);\
|
|
|
|
|
uint8_t * const halfV= (uint8_t*)temp;\
|
|
|
|
|
uint8_t * const halfHV= ((uint8_t*)temp) + SIZE*SIZE;\
|
|
|
|
|
int16_t * const tmp= ((int16_t*)temp) + SIZE*SIZE;\
|
|
|
|
|