X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Ftta.c;h=6f7ea109c23f153b66de0f072694221d257080f6;hb=00bbe27631ddce543e00d5fbdee445c39fc84d7f;hp=bf7064995cf26a0355364cfa9d550ffe263f3c5d;hpb=b78e7197a81e193827cf2408fe25bc1f14843a72;p=ffmpeg diff --git a/libavcodec/tta.c b/libavcodec/tta.c index bf7064995cf..6f7ea109c23 100644 --- a/libavcodec/tta.c +++ b/libavcodec/tta.c @@ -16,11 +16,11 @@ * * You should have received a copy of the GNU Lesser General Public * License along with FFmpeg; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ /** - * @file tta.c + * @file libavcodec/tta.c * TTA (The Lossless True Audio) decoder * (www.true-audio.com or tta.corecodec.org) * @author Alex Beregszaszi @@ -76,7 +76,7 @@ static const uint32_t shift_1[] = { 0x80000000, 0x80000000, 0x80000000, 0x80000000 }; -static const uint32_t *shift_16 = shift_1 + 4; +static const uint32_t * const shift_16 = shift_1 + 4; #endif #define MAX_ORDER 16 @@ -87,7 +87,7 @@ typedef struct TTAFilter { int32_t dl[MAX_ORDER]; } TTAFilter; -static int32_t ttafilter_configs[4][2] = { +static const int32_t ttafilter_configs[4][2] = { {10, 1}, {9, 1}, {10, 1}, @@ -197,7 +197,7 @@ static int tta_get_unary(GetBitContext *gb) return ret; } -static int tta_decode_init(AVCodecContext * avctx) +static av_cold int tta_decode_init(AVCodecContext * avctx) { TTAContext *s = avctx->priv_data; int i; @@ -209,11 +209,11 @@ static int tta_decode_init(AVCodecContext * avctx) return -1; init_get_bits(&s->gb, avctx->extradata, avctx->extradata_size); - if (show_bits_long(&s->gb, 32) == ff_get_fourcc("TTA1")) + if (show_bits_long(&s->gb, 32) == AV_RL32("TTA1")) { /* signature */ skip_bits(&s->gb, 32); -// if (get_bits_long(&s->gb, 32) != bswap_32(ff_get_fourcc("TTA1"))) { +// if (get_bits_long(&s->gb, 32) != bswap_32(AV_RL32("TTA1"))) { // av_log(s->avctx, AV_LOG_ERROR, "Missing magic\n"); // return -1; // } @@ -226,8 +226,8 @@ static int tta_decode_init(AVCodecContext * avctx) } s->is_float = (s->flags == FORMAT_FLOAT); avctx->channels = s->channels = get_bits(&s->gb, 16); - avctx->bits_per_sample = get_bits(&s->gb, 16); - s->bps = (avctx->bits_per_sample + 7) / 8; + avctx->bits_per_coded_sample = get_bits(&s->gb, 16); + s->bps = (avctx->bits_per_coded_sample + 7) / 8; avctx->sample_rate = get_bits_long(&s->gb, 32); if(avctx->sample_rate > 1000000){ //prevent FRAME_TIME * avctx->sample_rate from overflowing and sanity check av_log(avctx, AV_LOG_ERROR, "sample_rate too large\n"); @@ -261,7 +261,7 @@ static int tta_decode_init(AVCodecContext * avctx) (s->last_frame_length ? 1 : 0); av_log(s->avctx, AV_LOG_DEBUG, "flags: %x chans: %d bps: %d rate: %d block: %d\n", - s->flags, avctx->channels, avctx->bits_per_sample, avctx->sample_rate, + s->flags, avctx->channels, avctx->bits_per_coded_sample, avctx->sample_rate, avctx->block_align); av_log(s->avctx, AV_LOG_DEBUG, "data_length: %d frame_length: %d last: %d total: %d\n", s->data_length, s->frame_length, s->last_frame_length, s->total_frames); @@ -287,7 +287,7 @@ static int tta_decode_init(AVCodecContext * avctx) static int tta_decode_frame(AVCodecContext *avctx, void *data, int *data_size, - uint8_t *buf, int buf_size) + const uint8_t *buf, int buf_size) { TTAContext *s = avctx->priv_data; int i; @@ -352,9 +352,9 @@ static int tta_decode_frame(AVCodecContext *avctx, rice->k0++; } - // extract sign -#define SIGN(x) (((x)&1) ? (++(x)>>1) : (-(x)>>1)) - *p = SIGN(value); + // extract coded value +#define UNFOLD(x) (((x)&1) ? (++(x)>>1) : (-(x)>>1)) + *p = UNFOLD(value); // run hybrid filter ttafilter_process(filter, p, 0); @@ -425,7 +425,7 @@ static int tta_decode_frame(AVCodecContext *avctx, return buf_size; } -static int tta_decode_close(AVCodecContext *avctx) { +static av_cold int tta_decode_close(AVCodecContext *avctx) { TTAContext *s = avctx->priv_data; if (s->decode_buffer) @@ -443,4 +443,5 @@ AVCodec tta_decoder = { NULL, tta_decode_close, tta_decode_frame, + .long_name = NULL_IF_CONFIG_SMALL("True Audio"), };