Exemple #1
0
        /*
         * same as hip_decode1 (look in lame.h), but returns unclipped raw
         * floating-point samples. It is declared here, not in lame.h, because it
         * returns LAME's internal type sample_t. No more than 1152 samples per
         * channel are allowed.
         */

        internal virtual int hip_decode1_unclipped(
            mpstr_tag hip,
            byte[] buffer,
            int bufferPos,
            int len,
            float[] pcm_l,
            float[] pcm_r)
        {
            var mp3data = new MP3Data();
            var enc     = new Enc();

            if (hip != null)
            {
                IDecoder dec  = new IDecoderAnonymousInnerClass(this, bufferPos);
                var      @out = new float?[OUTSIZE_UNCLIPPED];
                Decode.Factory <float?> tFactory = new FactoryAnonymousInnerClass(this);

                // XXX should we avoid the primitive type version?
                var pcmL = new float?[pcm_l.Length];
                for (var i = 0; i < pcmL.Length; i++)
                {
                    pcmL[i] = Convert.ToSingle(pcm_l[i]);
                }

                var pcmR = new float?[pcm_r.Length];
                for (var i = 0; i < pcmR.Length; i++)
                {
                    pcmR[i] = Convert.ToSingle(pcm_r[i]);
                }

                var decode1_headersB_clipchoice = this.decode1_headersB_clipchoice(
                    hip,
                    buffer,
                    bufferPos,
                    len,
                    pcmL,
                    0,
                    pcmR,
                    0,
                    mp3data,
                    enc,
                    @out,
                    OUTSIZE_UNCLIPPED,
                    dec,
                    tFactory);
                for (var i = 0; i < pcmL.Length; i++)
                {
                    pcm_l[i] = pcmL[i].Value;
                }

                for (var i = 0; i < pcmR.Length; i++)
                {
                    pcm_r[i] = pcmR[i].Value;
                }

                return(decode1_headersB_clipchoice);
            }

            return(0);
        }
Exemple #2
0
        /*
         * same as hip_decode1 (look in lame.h), but returns unclipped raw
         * floating-point samples. It is declared here, not in lame.h, because it
         * returns LAME's internal type sample_t. No more than 1152 samples per
         * channel are allowed.
         */

        internal virtual int hip_decode1_unclipped(
            mpstr_tag hip,
            byte[] buffer,
            int bufferPos,
            int len,
            float[] pcm_l,
            float[] pcm_r)
        {
            var mp3data = new MP3Data();
            var enc     = new Enc();

            if (hip != null)
            {
                IDecoder dec  = new IDecoderAnonymousInnerClass(this, bufferPos);
                var      @out = new float[OUTSIZE_UNCLIPPED];
                Decode.Factory <float> tFactory = new FactoryAnonymousInnerClass(this);

                var decode1_headersB_clipchoice = this.decode1_headersB_clipchoice(
                    hip,
                    buffer,
                    bufferPos,
                    len,
                    pcm_l,
                    0,
                    pcm_r,
                    0,
                    mp3data,
                    enc,
                    @out,
                    OUTSIZE_UNCLIPPED,
                    dec,
                    tFactory,
                    false);

                return(decode1_headersB_clipchoice);
            }

            return(0);
        }