|
|
|
@ -622,6 +622,7 @@ static void add_bytes_mmx(uint8_t *dst, uint8_t *src, int w){ |
|
|
|
|
"paddb %%mm1, %%mm6 \n\t" |
|
|
|
|
|
|
|
|
|
static void h263_v_loop_filter_mmx(uint8_t *src, int stride, int qscale){ |
|
|
|
|
if(ENABLE_ANY_H263) { |
|
|
|
|
const int strength= ff_h263_loop_filter_strength[qscale]; |
|
|
|
|
|
|
|
|
|
asm volatile( |
|
|
|
@ -639,6 +640,7 @@ static void h263_v_loop_filter_mmx(uint8_t *src, int stride, int qscale){ |
|
|
|
|
: "g" (2*strength), "m"(ff_pb_FC) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int src_stride){ |
|
|
|
|
asm volatile( //FIXME could save 1 instruction if done as 8x4 ...
|
|
|
|
@ -670,6 +672,7 @@ static inline void transpose4x4(uint8_t *dst, uint8_t *src, int dst_stride, int |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static void h263_h_loop_filter_mmx(uint8_t *src, int stride, int qscale){ |
|
|
|
|
if(ENABLE_ANY_H263) { |
|
|
|
|
const int strength= ff_h263_loop_filter_strength[qscale]; |
|
|
|
|
uint64_t temp[4] __attribute__ ((aligned(8))); |
|
|
|
|
uint8_t *btemp= (uint8_t*)temp; |
|
|
|
@ -719,6 +722,7 @@ static void h263_h_loop_filter_mmx(uint8_t *src, int stride, int qscale){ |
|
|
|
|
"r" ((long)(3*stride)) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_ENCODERS |
|
|
|
|
static int pix_norm1_mmx(uint8_t *pix, int line_size) { |
|
|
|
|