diff options
| author | Mohamed Tarek <mt@rockbox.org> | 2010-07-14 17:55:17 +0000 |
|---|---|---|
| committer | Mohamed Tarek <mt@rockbox.org> | 2010-07-14 17:55:17 +0000 |
| commit | 16284ae8aef30ec67d7fd9c34519bce17d64ab3a (patch) | |
| tree | 1fc1b0aa38770dea769a1e49a5fe3a2bd697be72 /apps/codecs/libwmapro/wma.c | |
| parent | 4b457d688b9b9c5b4b15babf93c04b8d2db489a9 (diff) | |
| download | rockbox-16284ae8aef30ec67d7fd9c34519bce17d64ab3a.zip rockbox-16284ae8aef30ec67d7fd9c34519bce17d64ab3a.tar.gz rockbox-16284ae8aef30ec67d7fd9c34519bce17d64ab3a.tar.bz2 rockbox-16284ae8aef30ec67d7fd9c34519bce17d64ab3a.tar.xz | |
Remove the floating point code from wmaprodec.c and change variable names accordingly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27416 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libwmapro/wma.c')
| -rw-r--r-- | apps/codecs/libwmapro/wma.c | 56 |
1 files changed, 0 insertions, 56 deletions
diff --git a/apps/codecs/libwmapro/wma.c b/apps/codecs/libwmapro/wma.c index b1b1268..b606f59 100644 --- a/apps/codecs/libwmapro/wma.c +++ b/apps/codecs/libwmapro/wma.c @@ -469,62 +469,6 @@ unsigned int ff_wma_get_large_val(GetBitContext* gb) */ int ff_wma_run_level_decode(AVCodecContext* avctx, GetBitContext* gb, VLC *vlc, - const float *level_table, const uint16_t *run_table, - int version, WMACoef *ptr, int offset, - int num_coefs, int block_len, int frame_len_bits, - int coef_nb_bits) -{ - int code, level, sign; - const uint32_t *ilvl = (const uint32_t*)level_table; - uint32_t *iptr = (uint32_t*)ptr; - const unsigned int coef_mask = block_len - 1; - for (; offset < num_coefs; offset++) { - code = get_vlc2(gb, vlc->table, VLCBITS, VLCMAX); - if (code > 1) { - /** normal code */ - offset += run_table[code]; - sign = get_bits1(gb) - 1; - iptr[offset & coef_mask] = ilvl[code] ^ sign<<31; - } else if (code == 1) { - /** EOB */ - break; - } else { - /** escape */ - if (!version) { - level = get_bits(gb, coef_nb_bits); - /** NOTE: this is rather suboptimal. reading - block_len_bits would be better */ - offset += get_bits(gb, frame_len_bits); - } else { - level = ff_wma_get_large_val(gb); - /** escape decode */ - if (get_bits1(gb)) { - if (get_bits1(gb)) { - if (get_bits1(gb)) { - av_log(avctx,AV_LOG_ERROR, - "broken escape sequence\n"); - return -1; - } else - offset += get_bits(gb, frame_len_bits) + 4; - } else - offset += get_bits(gb, 2) + 1; - } - } - sign = get_bits1(gb) - 1; - ptr[offset & coef_mask] = (level^sign) - sign; - } - } - /** NOTE: EOB can be omitted */ - if (offset > num_coefs) { - av_log(avctx, AV_LOG_ERROR, "overflow in spectral RLE, ignoring\n"); - return -1; - } - - return 0; -} - -int ff_wma_fix_run_level_decode(AVCodecContext* avctx, GetBitContext* gb, - VLC *vlc, const int32_t *level_table, const uint16_t *run_table, int version, int32_t *ptr, int offset, int num_coefs, int block_len, int frame_len_bits, |