[FFmpeg-devel] [PATCH] Implement AAC Long Term Prediction (LTP) decoding module

Young Han Lee cpumaker
Sat Feb 5 11:04:29 CET 2011


On Sat, Feb 5, 2011 at 6:23 PM, Alex Converse <alex.converse at gmail.com>wrote:

> On Fri, Feb 4, 2011 at 2:54 AM, Young Han Lee <cpumaker at gmail.com> wrote:
> > On Fri, Feb 4, 2011 at 2:09 PM, Alex Converse <alex.converse at gmail.com
> >wrote:
> >
> >> On Thu, Feb 3, 2011 at 3:37 AM, Young Han Lee <cpumaker at gmail.com>
> wrote:
> >> > On Thu, Feb 3, 2011 at 2:18 PM, Alex Converse <
> alex.converse at gmail.com
> >> >wrote:
> >>
> >> [...]
> >>
> >> >
> >> > please check again.
> >> >
> >>
> >> > diff --git a/libavcodec/aac.h b/libavcodec/aac.h
> >> > index cff476a..1e300fb 100644
> >> > --- a/libavcodec/aac.h
> >> > +++ b/libavcodec/aac.h
> >> [...]
> >> > @@ -206,14 +220,16 @@ typedef struct {
> >> >      IndividualChannelStream ics;
> >> >      TemporalNoiseShaping tns;
> >> >      Pulse pulse;
> >> > -    enum BandType band_type[128];             ///< band types
> >> > -    int band_type_run_end[120];               ///< band type run end
> >> points
> >> > -    float sf[120];                            ///< scalefactors
> >> > -    int sf_idx[128];                          ///< scalefactor
> indices
> >> (used by encoder)
> >> > -    uint8_t zeroes[128];                      ///< band is not coded
> >> (used by encoder)
> >> > -    DECLARE_ALIGNED(16, float, coeffs)[1024]; ///< coefficients for
> >> IMDCT
> >> > -    DECLARE_ALIGNED(16, float, saved)[1024];  ///< overlap
> >> > -    DECLARE_ALIGNED(16, float, ret)[2048];    ///< PCM output
> >> > +    enum BandType band_type[128];                 ///< band types
> >> > +    int band_type_run_end[120];                   ///< band type run
> end
> >> points
> >> > +    float sf[120];                                ///< scalefactors
> >> > +    int sf_idx[128];                              ///< scalefactor
> >> indices (used by encoder)
> >> > +    uint8_t zeroes[128];                          ///< band is not
> coded
> >> (used by encoder)
> >> > +    DECLARE_ALIGNED(16, float, coeffs)[1024];     ///< coefficients
> for
> >> IMDCT
> >> > +    DECLARE_ALIGNED(16, float, saved)[1024];      ///< overlap
> >> > +    DECLARE_ALIGNED(16, float, saved_ltp)[1024];  ///< overlap for
> LTP
> >> > +    DECLARE_ALIGNED(16, float, ret)[2048];        ///< PCM output
> >> > +    int16_t ltp_state[3072];
> >>
> >> I meant DECLARE_ALIGNED here
> >>
>
> You forgot declare ltp_state with DECLARE_ALIGNED
>
>
I did it this time :)


> >> >      PredictorState predictor_state[MAX_PREDICTORS];
> >> >  } SingleChannelElement;
> >> >
> >> > @@ -259,7 +275,7 @@ typedef struct {
> >> >       * @defgroup temporary aligned temporary buffers (We do not want
> to
> >> have these on the stack.)
> >> >       * @{
> >> >       */
> >> > -    DECLARE_ALIGNED(16, float, buf_mdct)[1024];
> >> > +    DECLARE_ALIGNED(16, float, buf_mdct)[2048];
> >> >      /** @} */
> >> >
> >> >      /**
> >> > @@ -268,6 +284,7 @@ typedef struct {
> >> >       */
> >> >      FFTContext mdct;
> >> >      FFTContext mdct_small;
> >> > +    FFTContext mdct_ltp;
> >> >      DSPContext dsp;
> >> >      FmtConvertContext fmt_conv;
> >> >      int random_state;
>
> [..]
>
> >
> > Thank you, Alex :)
> >
> > Young Han
> >
>
> Thanks,
>
> Alex
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
>

Thanks,

Young Han
-------------- next part --------------
A non-text attachment was scrubbed...
Name: AAC_DEC_LTP-007.patch
Type: text/x-patch
Size: 13984 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20110205/c5c8d474/attachment.bin>



More information about the ffmpeg-devel mailing list