Mercurial > libavcodec.hg
changeset 11229:d53e56a6228b libavcodec
Simplify determing whether fragments are coded
No measurable speed difference
author | conrad |
---|---|
date | Sun, 21 Feb 2010 00:11:01 +0000 |
parents | 6cb4b2e4af1c |
children | 9f25ae41c807 |
files | vp3.c |
diffstat | 1 files changed, 5 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/vp3.c Sun Feb 21 00:10:58 2010 +0000 +++ b/vp3.c Sun Feb 21 00:11:01 2010 +0000 @@ -555,13 +555,9 @@ return 1; } if (current_fragment != -1) { - if (s->superblock_coding[i] == SB_NOT_CODED) { + int coded = s->superblock_coding[i]; - /* copy all the fragments from the prior frame */ - s->all_fragments[current_fragment].coding_method = - MODE_COPY; - - } else if (s->superblock_coding[i] == SB_PARTIALLY_CODED) { + if (s->superblock_coding[i] == SB_PARTIALLY_CODED) { /* fragment may or may not be coded; this is the case * that cares about the fragment coding runs */ @@ -570,8 +566,10 @@ current_run = get_vlc2(gb, s->fragment_run_length_vlc.table, 5, 2); } + coded = bit; + } - if (bit) { + if (coded) { /* default mode; actual mode will be decoded in * the next phase */ s->all_fragments[current_fragment].coding_method = @@ -592,25 +590,6 @@ s->all_fragments[current_fragment].coding_method = MODE_COPY; } - - } else { - - /* fragments are fully coded in this superblock; actual - * coding will be determined in next step */ - s->all_fragments[current_fragment].coding_method = - MODE_INTER_NO_MV; - s->all_fragments[current_fragment].next_coeff= s->coeffs + current_fragment; - s->coded_fragment_list[s->coded_fragment_list_index] = - current_fragment; - if ((current_fragment >= s->fragment_start[1]) && - (s->last_coded_y_fragment == -1) && - (!first_c_fragment_seen)) { - s->first_coded_c_fragment = s->coded_fragment_list_index; - s->last_coded_y_fragment = s->first_coded_c_fragment - 1; - first_c_fragment_seen = 1; - } - s->coded_fragment_list_index++; - } } } }