| @@ -40,16 +40,16 @@ static void FUNC(put_pcm)(uint8_t *_dst, ptrdiff_t stride, int size, | |||||
| } | } | ||||
| } | } | ||||
| static void FUNC(transquant_bypass4x4)(uint8_t *_dst, int16_t *coeffs, | |||||
| ptrdiff_t stride) | |||||
| static av_always_inline void FUNC(transquant_bypass)(uint8_t *_dst, int16_t *coeffs, | |||||
| ptrdiff_t stride, int size) | |||||
| { | { | ||||
| int x, y; | int x, y; | ||||
| pixel *dst = (pixel *)_dst; | pixel *dst = (pixel *)_dst; | ||||
| stride /= sizeof(pixel); | stride /= sizeof(pixel); | ||||
| for (y = 0; y < 4; y++) { | |||||
| for (x = 0; x < 4; x++) { | |||||
| for (y = 0; y < size; y++) { | |||||
| for (x = 0; x < size; x++) { | |||||
| dst[x] = av_clip_pixel(dst[x] + *coeffs); | dst[x] = av_clip_pixel(dst[x] + *coeffs); | ||||
| coeffs++; | coeffs++; | ||||
| } | } | ||||
| @@ -57,55 +57,28 @@ static void FUNC(transquant_bypass4x4)(uint8_t *_dst, int16_t *coeffs, | |||||
| } | } | ||||
| } | } | ||||
| static void FUNC(transquant_bypass8x8)(uint8_t *_dst, int16_t *coeffs, | |||||
| static void FUNC(transquant_bypass4x4)(uint8_t *_dst, int16_t *coeffs, | |||||
| ptrdiff_t stride) | ptrdiff_t stride) | ||||
| { | { | ||||
| int x, y; | |||||
| pixel *dst = (pixel *)_dst; | |||||
| stride /= sizeof(pixel); | |||||
| FUNC(transquant_bypass)(_dst, coeffs, stride, 4); | |||||
| } | |||||
| for (y = 0; y < 8; y++) { | |||||
| for (x = 0; x < 8; x++) { | |||||
| dst[x] = av_clip_pixel(dst[x] + *coeffs); | |||||
| coeffs++; | |||||
| } | |||||
| dst += stride; | |||||
| } | |||||
| static void FUNC(transquant_bypass8x8)(uint8_t *_dst, int16_t *coeffs, | |||||
| ptrdiff_t stride) | |||||
| { | |||||
| FUNC(transquant_bypass)(_dst, coeffs, stride, 8); | |||||
| } | } | ||||
| static void FUNC(transquant_bypass16x16)(uint8_t *_dst, int16_t *coeffs, | static void FUNC(transquant_bypass16x16)(uint8_t *_dst, int16_t *coeffs, | ||||
| ptrdiff_t stride) | ptrdiff_t stride) | ||||
| { | { | ||||
| int x, y; | |||||
| pixel *dst = (pixel *)_dst; | |||||
| stride /= sizeof(pixel); | |||||
| for (y = 0; y < 16; y++) { | |||||
| for (x = 0; x < 16; x++) { | |||||
| dst[x] = av_clip_pixel(dst[x] + *coeffs); | |||||
| coeffs++; | |||||
| } | |||||
| dst += stride; | |||||
| } | |||||
| FUNC(transquant_bypass)(_dst, coeffs, stride, 16); | |||||
| } | } | ||||
| static void FUNC(transquant_bypass32x32)(uint8_t *_dst, int16_t *coeffs, | static void FUNC(transquant_bypass32x32)(uint8_t *_dst, int16_t *coeffs, | ||||
| ptrdiff_t stride) | ptrdiff_t stride) | ||||
| { | { | ||||
| int x, y; | |||||
| pixel *dst = (pixel *)_dst; | |||||
| stride /= sizeof(pixel); | |||||
| for (y = 0; y < 32; y++) { | |||||
| for (x = 0; x < 32; x++) { | |||||
| dst[x] = av_clip_pixel(dst[x] + *coeffs); | |||||
| coeffs++; | |||||
| } | |||||
| dst += stride; | |||||
| } | |||||
| FUNC(transquant_bypass)(_dst, coeffs, stride, 32); | |||||
| } | } | ||||
| static void FUNC(transform_skip)(uint8_t *_dst, int16_t *coeffs, | static void FUNC(transform_skip)(uint8_t *_dst, int16_t *coeffs, | ||||