* MPEG-4 ALS decoder
* Copyright (c) 2009 Thilo Borgmann <thilo.borgmann _at_ googlemail.com>
*
- * This file is part of FFmpeg.
+ * This file is part of Libav.
*
- * FFmpeg is free software; you can redistribute it and/or
+ * Libav is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
- * FFmpeg is distributed in the hope that it will be useful,
+ * Libav is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with FFmpeg; if not, write to the Free Software
+ * License along with Libav; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "bytestream.h"
#include "bgmc.h"
#include "dsputil.h"
-#include "libavcore/samplefmt.h"
+#include "libavutil/samplefmt.h"
#include "libavutil/crc.h"
#include <stdint.h>
AVCodecContext *avctx = ctx->avctx;
ALSSpecificConfig *sconf = &ctx->sconf;
- dprintf(avctx, "resolution = %i\n", sconf->resolution);
- dprintf(avctx, "floating = %i\n", sconf->floating);
- dprintf(avctx, "frame_length = %i\n", sconf->frame_length);
- dprintf(avctx, "ra_distance = %i\n", sconf->ra_distance);
- dprintf(avctx, "ra_flag = %i\n", sconf->ra_flag);
- dprintf(avctx, "adapt_order = %i\n", sconf->adapt_order);
- dprintf(avctx, "coef_table = %i\n", sconf->coef_table);
- dprintf(avctx, "long_term_prediction = %i\n", sconf->long_term_prediction);
- dprintf(avctx, "max_order = %i\n", sconf->max_order);
- dprintf(avctx, "block_switching = %i\n", sconf->block_switching);
- dprintf(avctx, "bgmc = %i\n", sconf->bgmc);
- dprintf(avctx, "sb_part = %i\n", sconf->sb_part);
- dprintf(avctx, "joint_stereo = %i\n", sconf->joint_stereo);
- dprintf(avctx, "mc_coding = %i\n", sconf->mc_coding);
- dprintf(avctx, "chan_config = %i\n", sconf->chan_config);
- dprintf(avctx, "chan_sort = %i\n", sconf->chan_sort);
- dprintf(avctx, "RLSLMS = %i\n", sconf->rlslms);
- dprintf(avctx, "chan_config_info = %i\n", sconf->chan_config_info);
+ av_dlog(avctx, "resolution = %i\n", sconf->resolution);
+ av_dlog(avctx, "floating = %i\n", sconf->floating);
+ av_dlog(avctx, "frame_length = %i\n", sconf->frame_length);
+ av_dlog(avctx, "ra_distance = %i\n", sconf->ra_distance);
+ av_dlog(avctx, "ra_flag = %i\n", sconf->ra_flag);
+ av_dlog(avctx, "adapt_order = %i\n", sconf->adapt_order);
+ av_dlog(avctx, "coef_table = %i\n", sconf->coef_table);
+ av_dlog(avctx, "long_term_prediction = %i\n", sconf->long_term_prediction);
+ av_dlog(avctx, "max_order = %i\n", sconf->max_order);
+ av_dlog(avctx, "block_switching = %i\n", sconf->block_switching);
+ av_dlog(avctx, "bgmc = %i\n", sconf->bgmc);
+ av_dlog(avctx, "sb_part = %i\n", sconf->sb_part);
+ av_dlog(avctx, "joint_stereo = %i\n", sconf->joint_stereo);
+ av_dlog(avctx, "mc_coding = %i\n", sconf->mc_coding);
+ av_dlog(avctx, "chan_config = %i\n", sconf->chan_config);
+ av_dlog(avctx, "chan_sort = %i\n", sconf->chan_sort);
+ av_dlog(avctx, "RLSLMS = %i\n", sconf->rlslms);
+ av_dlog(avctx, "chan_config_info = %i\n", sconf->chan_config_info);
#endif
}
// check for size of decoded data
size = ctx->cur_frame_length * avctx->channels *
- (av_get_bits_per_sample_fmt(avctx->sample_fmt) >> 3);
+ av_get_bytes_per_sample(avctx->sample_fmt);
if (size > *data_size) {
av_log(avctx, AV_LOG_ERROR, "Decoded data exceeds buffer size.\n");
ctx->crc_buffer = av_malloc(sizeof(*ctx->crc_buffer) *
ctx->cur_frame_length *
avctx->channels *
- (av_get_bits_per_sample_fmt(avctx->sample_fmt) >> 3));
+ av_get_bytes_per_sample(avctx->sample_fmt));
if (!ctx->crc_buffer) {
av_log(avctx, AV_LOG_ERROR, "Allocating buffer memory failed.\n");
decode_end(avctx);
AVCodec ff_als_decoder = {
- "als",
- AVMEDIA_TYPE_AUDIO,
- CODEC_ID_MP4ALS,
- sizeof(ALSDecContext),
- decode_init,
- NULL,
- decode_end,
- decode_frame,
+ .name = "als",
+ .type = AVMEDIA_TYPE_AUDIO,
+ .id = CODEC_ID_MP4ALS,
+ .priv_data_size = sizeof(ALSDecContext),
+ .init = decode_init,
+ .close = decode_end,
+ .decode = decode_frame,
.flush = flush,
.capabilities = CODEC_CAP_SUBFRAMES,
.long_name = NULL_IF_CONFIG_SMALL("MPEG-4 Audio Lossless Coding (ALS)"),