aacenc_tns: re-enable coefficient compression

This time in a platform/compiler-generic way.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
This commit is contained in:
Rostislav Pehlivanov 2015-08-21 21:36:06 +01:00
parent 88a5f93f62
commit 5df166e430

View File

@ -49,12 +49,16 @@ static inline void conv_to_float(float *arr, int32_t *cof, int num)
/* Input: quantized 4 bit coef, output: 1 if first (MSB) 2 bits are the same */
static inline int coef_test_compression(int coef)
{
int res = 0;
/*coef = coef >> 3;
res += ffs(coef);
coef = coef >> 1;
res += ffs(coef);*/
return 0;
int tmp = coef >> 2;
int res = ff_ctz(tmp);
if (res > 1)
return 1; /* ...00 -> compressable */
else if (res == 1)
return 0; /* ...10 -> uncompressable */
else if (ff_ctz(tmp >> 1) > 0)
return 0; /* ...0 1 -> uncompressable */
else
return 1; /* ...1 1 -> compressable */
}
static inline int compress_coef(int *coefs, int num)
@ -62,7 +66,7 @@ static inline int compress_coef(int *coefs, int num)
int i, res = 0;
for (i = 0; i < num; i++)
res += coef_test_compression(coefs[i]);
return 0;
return res == num ? 1 : 0;
}
/**