Lines Matching defs:avctx
198 static av_cold int atrac3_decode_close(AVCodecContext *avctx)
200 ATRAC3Context *q = avctx->priv_data;
644 static int decode_frame(AVCodecContext *avctx, const uint8_t *databuf,
647 ATRAC3Context *q = avctx->priv_data;
650 int channels = avctx->ch_layout.nb_channels;
660 js_block_align = (avctx->block_align / channels) * 2; /* block pair */
734 databuf + i * avctx->block_align / channels,
735 avctx->block_align * 8 / channels);
758 static int al_decode_frame(AVCodecContext *avctx, const uint8_t *databuf,
761 ATRAC3Context *q = avctx->priv_data;
762 int channels = avctx->ch_layout.nb_channels;
793 static int atrac3_decode_frame(AVCodecContext *avctx, AVFrame *frame,
798 ATRAC3Context *q = avctx->priv_data;
802 if (buf_size < avctx->block_align) {
803 av_log(avctx, AV_LOG_ERROR,
810 if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
815 decode_bytes(buf, q->decoded_bytes_buffer, avctx->block_align);
821 ret = decode_frame(avctx, databuf, (float **)frame->extended_data);
823 av_log(avctx, AV_LOG_ERROR, "Frame decoding error!\n");
829 return avctx->block_align;
832 static int atrac3al_decode_frame(AVCodecContext *avctx, AVFrame *frame,
838 if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
841 ret = al_decode_frame(avctx, avpkt->data, avpkt->size,
844 av_log(avctx, AV_LOG_ERROR, "Frame decoding error!\n");
875 static av_cold int atrac3_decode_init(AVCodecContext *avctx)
880 const uint8_t *edata_ptr = avctx->extradata;
881 ATRAC3Context *q = avctx->priv_data;
883 int channels = avctx->ch_layout.nb_channels;
886 av_log(avctx, AV_LOG_ERROR, "Channel configuration error!\n");
891 if (avctx->codec_id == AV_CODEC_ID_ATRAC3AL) {
896 } else if (avctx->extradata_size == 14) {
898 av_log(avctx, AV_LOG_DEBUG, "[0-1] %d\n",
902 av_log(avctx, AV_LOG_DEBUG,"[8-9] %d\n",
905 av_log(avctx, AV_LOG_DEBUG,"[12-13] %d\n",
915 if (avctx->block_align != 96 * channels * frame_factor &&
916 avctx->block_align != 152 * channels * frame_factor &&
917 avctx->block_align != 192 * channels * frame_factor) {
918 av_log(avctx, AV_LOG_ERROR, "Unknown frame/channel/frame_factor "
919 "configuration %d/%d/%d\n", avctx->block_align,
923 } else if (avctx->extradata_size == 12 || avctx->extradata_size == 10) {
932 av_log(avctx, AV_LOG_ERROR, "Unknown extradata size %d.\n",
933 avctx->extradata_size);
940 av_log(avctx, AV_LOG_ERROR, "Version %d != 4.\n", version);
945 av_log(avctx, AV_LOG_ERROR, "Unknown amount of samples per frame %d.\n",
951 av_log(avctx, AV_LOG_ERROR, "Unknown amount of delay %x != 0x88E.\n",
957 av_log(avctx, AV_LOG_DEBUG, "Single channels detected.\n");
960 av_log(avctx, AV_LOG_ERROR, "Invalid joint stereo channel configuration.\n");
963 av_log(avctx, AV_LOG_DEBUG, "Joint stereo detected.\n");
965 av_log(avctx, AV_LOG_ERROR, "Unknown channel coding mode %x!\n",
970 if (avctx->block_align > 4096 || avctx->block_align <= 0)
973 q->decoded_bytes_buffer = av_mallocz(FFALIGN(avctx->block_align, 4) +
978 avctx->sample_fmt = AV_SAMPLE_FMT_FLTP;
982 av_log(avctx, AV_LOG_ERROR, "Error initializing MDCT\n");
1003 fdsp = avpriv_float_dsp_alloc(avctx->flags & AV_CODEC_FLAG_BITEXACT);