Ignore:
Timestamp:
Apr 18, 2009 2:29:28 PM (11 years ago)
Author:
bennylp
Message:

More ticket #774: optimization for siren7/siren14 codecs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/third_party/g7221/decode/decoder.c

    r2563 r2616  
    137137        { 
    138138                get_next_bit(bitobj); 
    139                 categorization_control = shl(categorization_control,1); 
     139                categorization_control = shl_nocheck(categorization_control,1); 
    140140                categorization_control = add(categorization_control,bitobj->next_bit); 
    141141        } 
     
    247247    { 
    248248        get_next_bit(bitobj); 
    249         index = shl(index,1); 
     249        index = shl_nocheck(index,1); 
    250250        index = add(index,bitobj->next_bit); 
    251251    } 
     
    333333    { 
    334334        i = sub(i,1); 
    335         temp = shr(temp,1); 
     335        temp = shr_nocheck(temp,1); 
    336336        max_index = sub(max_index,2); 
    337337        temp1 = sub(temp,8); 
     
    531531                    if (bitobj->next_bit == 0) 
    532532                        { 
    533                         temp = shl(index,1); 
     533                        temp = shl_nocheck(index,1); 
    534534                        index = (Word16)*(decoder_table_ptr + temp); 
    535535                        move16(); 
     
    537537                        else 
    538538                        { 
    539                         temp = shl(index,1); 
     539                        temp = shl_nocheck(index,1); 
    540540                        index = (Word16)*(decoder_table_ptr + temp + 1); 
    541541                        move16(); 
     
    568568                        { 
    569569                                    get_next_bit(bitobj); 
    570                                 signs_index = shl(signs_index,1); 
     570                                signs_index = shl_nocheck(signs_index,1); 
    571571                                    signs_index = add(signs_index,bitobj->next_bit); 
    572572                                    bitobj->number_of_bits_left = sub(bitobj->number_of_bits_left,1); 
    573573                            } 
    574574                            temp = sub(num_sign_bits,1); 
    575                         bit = shl(1,(temp)); 
     575                        bit = shl_nocheck(1,(temp)); 
    576576                        } 
    577577                         
     
    579579                    { 
    580580                            acca = L_mult0(standard_deviation,mlt_quant_centroid[category][k[j]]); 
    581                         acca = L_shr(acca,12); 
     581                        acca = L_shr_nocheck(acca,12); 
    582582                        decoder_mlt_value = extract_l(acca); 
    583583                             
     
    588588                            if ((signs_index & bit) == 0) 
    589589                                        decoder_mlt_value = negate(decoder_mlt_value); 
    590                                     bit = shr(bit,1); 
     590                                    bit = shr_nocheck(bit,1); 
    591591                            } 
    592592                        *decoder_mlt_ptr++ = decoder_mlt_value; 
     
    653653                        *decoder_mlt_ptr = temp1; 
    654654                    move16(); 
    655                         random_word = shr(random_word,1); 
     655                        random_word = shr_nocheck(random_word,1); 
    656656                    } 
    657657                    /* pointer arithmetic */ 
     
    678678                        *decoder_mlt_ptr = temp1; 
    679679                    move16(); 
    680                         random_word  = shr(random_word,1); 
     680                        random_word  = shr_nocheck(random_word,1); 
    681681                    } 
    682682                    /* pointer arithmetic */ 
     
    711711                *decoder_mlt_ptr++ = temp1; 
    712712                move16(); 
    713                 random_word = shr(random_word,1); 
     713                random_word = shr_nocheck(random_word,1); 
    714714            } 
    715715            random_word = get_rand(randobj); 
     
    731731                *decoder_mlt_ptr++ = temp1; 
    732732                move16(); 
    733                 random_word = shr(random_word,1); 
     733                random_word = shr_nocheck(random_word,1); 
    734734            } 
    735735        } 
     
    10601060    } 
    10611061    bitobj->code_bit_count = sub(bitobj->code_bit_count,1); 
    1062     temp = shr(bitobj->current_word,bitobj->code_bit_count); 
     1062    temp = shr_nocheck(bitobj->current_word,bitobj->code_bit_count); 
    10631063    logic16(); 
    10641064    bitobj->next_bit = (Word16 )(temp & 1); 
Note: See TracChangeset for help on using the changeset viewer.