Ignore:
Timestamp:
01/18/09 13:07:26 (15 years ago)
Author:
radscorpion
Message:

DirectShow Musepack Decoder updated to 0.9.2.0
Bug fixed with -6 dB output. Shame on me!!
Built with latest libcommon and libmpcdec.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dsfilters/dec_mpc/src/mpc_filter.cpp

    r380 r420  
    255255        count -= 8;
    256256        while (count > 0) {
    257                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    258                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    259                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    260                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    261                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    262                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    263                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
    264                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
     257                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     258                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     259                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     260                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     261                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     262                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     263                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
     264                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
    265265                count -= 8;
    266266        }
     
    269269        // last few must be done one-by-one
    270270        while (count > 0) {
    271                 *dst++ = (short)(FLOAT_CLIP(*src) * 16380);     src++;
     271                *dst++ = (short)(FLOAT_CLIP(*src) * 32767);     src++;
    272272                count --;
    273273        }
     
    330330        // discontinuity after seek - reset scale factors
    331331        if (pSample->IsDiscontinuity() == NOERROR) {
    332                 mpc_decoder_reset_scf(demux->d, 0);
     332                memset(demux->d->SCF_Index_L, 0, sizeof(demux->d->SCF_Index_L));
     333                memset(demux->d->SCF_Index_R, 0, sizeof(demux->d->SCF_Index_R));
    333334        }
    334335
Note: See TracChangeset for help on using the changeset viewer.