|
|
|
@ -108,7 +108,7 @@ |
|
|
|
|
/**
|
|
|
|
|
* Check if the middle 8x8 Block in the given 8x16 block is flat |
|
|
|
|
*/ |
|
|
|
|
static inline int RENAME(vertClassify)(uint8_t src[], int stride, PPContext *c){ |
|
|
|
|
static inline int RENAME(vertClassify)(const uint8_t src[], int stride, PPContext *c){ |
|
|
|
|
int numEq= 0, dcOk; |
|
|
|
|
src+= stride*4; // src points to begin of the 8x8 Block
|
|
|
|
|
__asm__ volatile( |
|
|
|
@ -1989,7 +1989,7 @@ MEDIAN((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8)) |
|
|
|
|
/**
|
|
|
|
|
* Transpose and shift the given 8x8 Block into dst1 and dst2. |
|
|
|
|
*/ |
|
|
|
|
static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src, int srcStride) |
|
|
|
|
static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, const uint8_t *src, int srcStride) |
|
|
|
|
{ |
|
|
|
|
__asm__( |
|
|
|
|
"lea (%0, %1), %%"REG_a" \n\t" |
|
|
|
@ -2074,7 +2074,7 @@ static inline void RENAME(transpose1)(uint8_t *dst1, uint8_t *dst2, uint8_t *src |
|
|
|
|
/**
|
|
|
|
|
* Transpose the given 8x8 block. |
|
|
|
|
*/ |
|
|
|
|
static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, uint8_t *src) |
|
|
|
|
static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, const uint8_t *src) |
|
|
|
|
{ |
|
|
|
|
__asm__( |
|
|
|
|
"lea (%0, %1), %%"REG_a" \n\t" |
|
|
|
@ -2155,7 +2155,7 @@ static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, uint8_t *src) |
|
|
|
|
|
|
|
|
|
#if !TEMPLATE_PP_ALTIVEC |
|
|
|
|
static inline void RENAME(tempNoiseReducer)(uint8_t *src, int stride, |
|
|
|
|
uint8_t *tempBlurred, uint32_t *tempBlurredPast, int *maxNoise) |
|
|
|
|
uint8_t *tempBlurred, uint32_t *tempBlurredPast, const int *maxNoise) |
|
|
|
|
{ |
|
|
|
|
// to save a register (FIXME do this outside of the loops)
|
|
|
|
|
tempBlurredPast[127]= maxNoise[0]; |
|
|
|
@ -2544,7 +2544,7 @@ Switch between |
|
|
|
|
/**
|
|
|
|
|
* accurate deblock filter |
|
|
|
|
*/ |
|
|
|
|
static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int stride, PPContext *c){ |
|
|
|
|
static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int stride, const PPContext *c){ |
|
|
|
|
int64_t dc_mask, eq_mask, both_masks; |
|
|
|
|
int64_t sums[10*8*2]; |
|
|
|
|
src+= step*3; // src points to begin of the 8x8 Block
|
|
|
|
|