Commit ccca78b7 authored by conrad's avatar conrad

Move branch based on custom mode outside the loop

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21804 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 91cc48d7
......@@ -648,6 +648,7 @@ static int unpack_modes(Vp3DecodeContext *s, GetBitContext *gb)
int current_fragment;
int coding_mode;
int custom_mode_alphabet[CODING_MODE_COUNT];
const int *alphabet;
if (s->keyframe) {
for (i = 0; i < s->fragment_count; i++)
......@@ -664,7 +665,9 @@ static int unpack_modes(Vp3DecodeContext *s, GetBitContext *gb)
custom_mode_alphabet[i] = MODE_INTER_NO_MV;
for (i = 0; i < 8; i++)
custom_mode_alphabet[get_bits(gb, 3)] = i;
}
alphabet = custom_mode_alphabet;
} else
alphabet = ModeAlphabet[scheme-1];
/* iterate through all of the macroblocks that contain 1 or more
* coded fragments */
......@@ -697,11 +700,8 @@ static int unpack_modes(Vp3DecodeContext *s, GetBitContext *gb)
/* mode 7 means get 3 bits for each coding mode */
if (scheme == 7)
coding_mode = get_bits(gb, 3);
else if(scheme == 0)
coding_mode = custom_mode_alphabet
[get_vlc2(gb, s->mode_code_vlc.table, 3, 3)];
else
coding_mode = ModeAlphabet[scheme-1]
coding_mode = alphabet
[get_vlc2(gb, s->mode_code_vlc.table, 3, 3)];
s->macroblock_coding[current_macroblock] = coding_mode;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment