@@ -424,8 +424,27 @@ const oapv_fn_dquant_t oapv_tbl_fn_dquant[2] = {
424424void oapv_adjust_itrans (int * src , int * dst , int itrans_diff_idx , int diff_step , int shift )
425425{
426426 int offset = 1 << (shift - 1 );
427- for (int k = 0 ; k < 64 ; k ++ ) {
428- dst [k ] = src [k ] + ((oapv_itrans_diff [itrans_diff_idx ][k ] * diff_step + offset ) >> shift );
427+ short * itrans_diff = oapv_itrans_diff [itrans_diff_idx ];
428+ for (int k = 0 ; k < 4 ; k ++ ) {
429+ dst [0 ] = src [0 ] + ((itrans_diff [0 ] * diff_step + offset ) >> shift );
430+ dst [1 ] = src [1 ] + ((itrans_diff [1 ] * diff_step + offset ) >> shift );
431+ dst [2 ] = src [2 ] + ((itrans_diff [2 ] * diff_step + offset ) >> shift );
432+ dst [3 ] = src [3 ] + ((itrans_diff [3 ] * diff_step + offset ) >> shift );
433+ dst [4 ] = src [4 ] + ((itrans_diff [8 ] * diff_step + offset ) >> shift );
434+ dst [5 ] = src [5 ] + ((itrans_diff [9 ] * diff_step + offset ) >> shift );
435+ dst [6 ] = src [6 ] + ((itrans_diff [10 ] * diff_step + offset ) >> shift );
436+ dst [7 ] = src [7 ] + ((itrans_diff [11 ] * diff_step + offset ) >> shift );
437+ dst [8 ] = src [8 ] + ((itrans_diff [4 ] * diff_step + offset ) >> shift );
438+ dst [9 ] = src [9 ] + ((itrans_diff [5 ] * diff_step + offset ) >> shift );
439+ dst [10 ] = src [10 ] + ((itrans_diff [6 ] * diff_step + offset ) >> shift );
440+ dst [11 ] = src [11 ] + ((itrans_diff [7 ] * diff_step + offset ) >> shift );
441+ dst [12 ] = src [12 ] + ((itrans_diff [12 ] * diff_step + offset ) >> shift );
442+ dst [13 ] = src [13 ] + ((itrans_diff [13 ] * diff_step + offset ) >> shift );
443+ dst [14 ] = src [14 ] + ((itrans_diff [14 ] * diff_step + offset ) >> shift );
444+ dst [15 ] = src [15 ] + ((itrans_diff [15 ] * diff_step + offset ) >> shift );
445+ itrans_diff += 16 ;
446+ dst += 16 ;
447+ src += 16 ;
429448 }
430449}
431450
0 commit comments