[FFmpeg-soc] [Patch] Maxis EA XA decoder - GSoC Task
Robert Marston
rmarston at gmail.com
Sun Apr 13 18:38:27 CEST 2008
On Sun, Apr 13, 2008 at 12:41 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
>
> On Sun, Apr 13, 2008 at 11:23:53AM +0200, Robert Marston wrote:
> > @@ -1235,6 +1237,29 @@
> > }
> > }
> > break;
> > + case CODEC_ID_ADPCM_EA_MAXIS_XA:
>
> > + for(channel = 0; channel < avctx->channels; channel++) {
> > + for (i=0; i<2; i++)
> > + coeff[channel][i] = ea_adpcm_table[(*src >> 4) + 4*i];
> > + shift[channel] = (*src & 0x0F) + 8;
> > + src++;
> > + }
>
> > + for (count1 = 0; count1 < ((buf_size - avctx->channels) / avctx->channels) ; count1++) {
> ^ ^
> inconsistant whitespace placement
>
>
>
> > + for(i = 4; i >= 0; i-=4) { /* Pairwise samples LL RR (st) or LL LL (mono) */
>
> > + int32_t sample;
> > + for(channel = 0; channel < avctx->channels; channel++) {
> > + sample = (int32_t)(((*(src+channel) >> i) & 0x0F) << 0x1C) >> shift[channel];
>
> declaration and initalization can be merged
>
>
> [...]
> > +static int xa_read_packet(AVFormatContext *s,
> > + AVPacket *pkt)
>
> > +{
> > + MaxisXADemuxContext *xa = s->priv_data;
> > + AVStream *st = s->streams[0];
> > + ByteIOContext *pb = s->pb;
> > + unsigned int packet_size;
>
> > + int ret = 0;
> > +
> > + if(xa->sent_bytes > xa->out_size)
> > + return AVERROR(EIO);
> > + /* 1 byte header and 14 bytes worth of samples * number channels per block */
> > + packet_size = 15*st->codec->channels;
> > +
> > + ret = av_get_packet(pb, pkt, packet_size);
>
> ret is writen to twice but not read between.
>
>
> > + pkt->stream_index = st->index;
> > +
> > + xa->sent_bytes += packet_size;
> > + pkt->pts = xa->audio_frame_counter;
>
> > + /* 14 bytes Samples per channel with 2 samples per byte */
> > + xa->audio_frame_counter += (28 * st->codec->channels);
>
> superflous ()
>
Corrected above issues.
Thanks
Robert
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: maxis_ea_xa_format.txt
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-soc/attachments/20080413/53af5187/attachment.txt>
More information about the FFmpeg-soc
mailing list