[FFmpeg-devel] [PATCH] WMA Voice decoder

Ronald S. Bultje rsbultje
Tue Feb 9 18:40:49 CET 2010


Hi,

On Thu, Feb 4, 2010 at 12:06 AM, Vitor Sessak <vitor1001 at gmail.com> wrote:
> Ronald S. Bultje wrote:
>> + ? ?/* exclude ranges from pulses */
>> + ? ?memset(use_mask, -1, 10);
>> + ? ?if (pulse_off != NO_OFFSET)
>> + ? ? ? ?for (idx = pulse_off; idx < MAX_FRAMESIZE / 2; idx +=
>> fcb->pitch_lag) {
>> + ? ? ? ? ? ?int range ? ? ? ? ? ? = s->aw_pitch_range; // always 16 or 24
>> + ? ? ? ? ? ?int idx_sh ? ? ? ? ? ?= idx >> 4;
>> + ? ? ? ? ? ?int idx_mask ? ? ? ? ?= idx & 15;
>> + ? ? ? ? ? ?use_mask[idx_sh++] ? &= ~(0xFFFF >> idx_mask);
>> + ? ? ? ? ? ?range ? ? ? ? ? ? ? ?-= 16 - idx_mask;
>> + ? ? ? ? ? ?use_mask[idx_sh++] ? &= ? 0xFFFF >> range;
>> + ? ? ? ? ? ?range ? ? ? ? ? ? ? ?-= 16;
>> + ? ? ? ? ? ?if (range > 0)
>> + ? ? ? ? ? ? ? ?use_mask[idx_sh] &= ? 0xFFFF >> range;
>> + ? ? ? ?}
>
> Does those excluded indexes correspond to some other pulses set (i.e. those
> set in aw_pulse_set1() or those set by aw_pulse_set2() in the last frame)?

Approximately, yes. _set1() pulses somewhere around pulse_off, in the
range pulse_off +/- 10 (approximately) depending on bitstream values
read in _set1().

Ronald



More information about the ffmpeg-devel mailing list