You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	jpeg2000dec: optimize dequantization_int()
4400->2800 cycles Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		| @@ -938,14 +938,14 @@ static void dequantization_int(int x, int y, Jpeg2000Cblk *cblk, | ||||
|                                Jpeg2000Component *comp, | ||||
|                                Jpeg2000T1Context *t1, Jpeg2000Band *band) | ||||
| { | ||||
|     int i, j, idx; | ||||
|     int32_t *datap = &comp->i_data[(comp->coord[0][1] - comp->coord[0][0]) * y + x]; | ||||
|     for (j = 0; j < (cblk->coord[1][1] - cblk->coord[1][0]); ++j) | ||||
|         for (i = 0; i < (cblk->coord[0][1] - cblk->coord[0][0]); ++i) { | ||||
|             idx        = (comp->coord[0][1] - comp->coord[0][0]) * j + i; | ||||
|             datap[idx] = | ||||
|                 ((int32_t)(t1->data[j][i]) * band->i_stepsize + (1 << 15)) >> 16; | ||||
|         } | ||||
|     int i, j; | ||||
|     int w = cblk->coord[0][1] - cblk->coord[0][0]; | ||||
|     for (j = 0; j < (cblk->coord[1][1] - cblk->coord[1][0]); ++j) { | ||||
|         int32_t *datap = &comp->i_data[(comp->coord[0][1] - comp->coord[0][0]) * (y + j) + x]; | ||||
|         int *src = t1->data[j]; | ||||
|         for (i = 0; i < w; ++i) | ||||
|             datap[i] = (src[i] * band->i_stepsize + (1 << 15)) >> 16; | ||||
|     } | ||||
| } | ||||
|  | ||||
| /* Inverse ICT parameters in float and integer. | ||||
|   | ||||
		Reference in New Issue
	
	Block a user