@ -1059,8 +1059,8 @@ yuv2rgba64_X_c_template(SwsContext *c, const int16_t *lumFilter,
for ( i = 0 ; i < ( ( dstW + 1 ) > > 1 ) ; i + + ) {
for ( i = 0 ; i < ( ( dstW + 1 ) > > 1 ) ; i + + ) {
int j ;
int j ;
int Y1 = - 0x40000000 ;
unsigned Y1 = - 0x40000000 ;
int Y2 = - 0x40000000 ;
unsigned Y2 = - 0x40000000 ;
int U = - ( 128 < < 23 ) ; // 19
int U = - ( 128 < < 23 ) ; // 19
int V = - ( 128 < < 23 ) ;
int V = - ( 128 < < 23 ) ;
int R , G , B ;
int R , G , B ;
@ -1088,9 +1088,9 @@ yuv2rgba64_X_c_template(SwsContext *c, const int16_t *lumFilter,
}
}
// 8 bits: 12+15=27; 16 bits: 12+19=31
// 8 bits: 12+15=27; 16 bits: 12+19=31
Y1 > > = 14 ; // 10
Y1 = ( int ) Y1 > > 14 ; // 10
Y1 + = 0x10000 ;
Y1 + = 0x10000 ;
Y2 > > = 14 ;
Y2 = ( int ) Y2 > > 14 ;
Y2 + = 0x10000 ;
Y2 + = 0x10000 ;
U > > = 14 ;
U > > = 14 ;
V > > = 14 ;
V > > = 14 ;
@ -1109,20 +1109,20 @@ yuv2rgba64_X_c_template(SwsContext *c, const int16_t *lumFilter,
B = U * c - > yuv2rgb_u2b_coeff ;
B = U * c - > yuv2rgb_u2b_coeff ;
// 8 bits: 30 - 22 = 8 bits, 16 bits: 30 bits - 14 = 16 bits
// 8 bits: 30 - 22 = 8 bits, 16 bits: 30 bits - 14 = 16 bits
output_pixel ( & dest [ 0 ] , av_clip_uintp2 ( ( ( R_B + Y1 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 0 ] , av_clip_uintp2 ( ( ( int ) ( R_B + Y1 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 1 ] , av_clip_uintp2 ( ( ( G + Y1 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 1 ] , av_clip_uintp2 ( ( ( int ) ( G + Y1 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 2 ] , av_clip_uintp2 ( ( ( B_R + Y1 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 2 ] , av_clip_uintp2 ( ( ( int ) ( B_R + Y1 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
if ( eightbytes ) {
if ( eightbytes ) {
output_pixel ( & dest [ 3 ] , av_clip_uintp2 ( A1 , 30 ) > > 14 ) ;
output_pixel ( & dest [ 3 ] , av_clip_uintp2 ( A1 , 30 ) > > 14 ) ;
output_pixel ( & dest [ 4 ] , av_clip_uintp2 ( ( ( R_B + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 4 ] , av_clip_uintp2 ( ( ( int ) ( R_B + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 5 ] , av_clip_uintp2 ( ( ( G + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 5 ] , av_clip_uintp2 ( ( ( int ) ( G + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 6 ] , av_clip_uintp2 ( ( ( B_R + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 6 ] , av_clip_uintp2 ( ( ( int ) ( B_R + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 7 ] , av_clip_uintp2 ( A2 , 30 ) > > 14 ) ;
output_pixel ( & dest [ 7 ] , av_clip_uintp2 ( A2 , 30 ) > > 14 ) ;
dest + = 8 ;
dest + = 8 ;
} else {
} else {
output_pixel ( & dest [ 3 ] , av_clip_uintp2 ( ( ( R_B + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 3 ] , av_clip_uintp2 ( ( ( int ) ( R_B + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 4 ] , av_clip_uintp2 ( ( ( G + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 4 ] , av_clip_uintp2 ( ( ( int ) ( G + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 5 ] , av_clip_uintp2 ( ( ( B_R + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
output_pixel ( & dest [ 5 ] , av_clip_uintp2 ( ( ( int ) ( B_R + Y2 ) > > 14 ) + ( 1 < < 15 ) , 16 ) ) ;
dest + = 6 ;
dest + = 6 ;
}
}
}
}