csvorbis.FuncMapping.look C# (CSharp) Method

look() public abstract method

public abstract look ( DspState vd, InfoMode vm, Object m ) : Object
vd DspState
vm InfoMode
m Object
return Object
        public abstract Object look(DspState vd, InfoMode vm, Object m);

Usage Example

Esempio n. 1
0
        void init(Info vi)
        {
            this.vi  = vi;
            modebits = VUtils.ilog2(vi.modes);

            transform[0] = new Mdct();
            transform[1] = new Mdct();
            ((Mdct)transform[0]).init(vi.blocksizes[0]);
            ((Mdct)transform[1]).init(vi.blocksizes[1]);

            wnd[0][0][0] = window(vi.blocksizes[0], vi.blocksizes[0] / 2, vi.blocksizes[0] / 2);
            wnd[1][0][0] = window(vi.blocksizes[1], vi.blocksizes[0] / 2, vi.blocksizes[0] / 2);
            wnd[1][0][1] = window(vi.blocksizes[1], vi.blocksizes[0] / 2, vi.blocksizes[1] / 2);
            wnd[1][1][0] = window(vi.blocksizes[1], vi.blocksizes[1] / 2, vi.blocksizes[0] / 2);
            wnd[1][1][1] = window(vi.blocksizes[1], vi.blocksizes[1] / 2, vi.blocksizes[1] / 2);

            fullbooks = new CodeBook[vi.books];
            for (int i = 0; i < vi.books; i++)
            {
                fullbooks[i] = new CodeBook();
                fullbooks[i].init_decode(vi.book_param[i]);
            }

            // initialize the storage vectors to a decent size greater than the minimum

            pcm_storage = 8192;             // we'll assume later that we have a minimum of twice
            // the blocksize of accumulated samples in analysis
            pcm = new float[vi.channels][];
            for (int i = 0; i < vi.channels; i++)
            {
                pcm[i] = new float[pcm_storage];
            }

            // all 1 (large block) or 0 (small block)
            // explicitly set for the sake of clarity
            lW = 0;             // previous window size
            W  = 0;             // current window size

            // all vector indexes; multiples of samples_per_envelope_step
            centerW     = vi.blocksizes[1] / 2;
            pcm_current = centerW;

            // initialize all the mapping/backend lookups
            mode = new Object[vi.modes];

            for (int i = 0; i < vi.modes; i++)
            {
                int         mapnum  = vi.mode_param[i].mapping;
                FuncMapping mapping = vi.map_funcs[mapnum];

                mode[i] = mapping.look(this, vi.mode_param[i], vi.map_param[mapnum]);
            }
        }