Use put_signed_pixels_clamped where appropriate
Patch by Christophe GISQUET christophe.gisquet <whirlpool sign> fr(run of two 'e').(copy 2 bytes with offset -5) Thread: [PATCH] Use signed version when putting and clamping pixels in VC-1 Originally committed as revision 11029 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							parent
							
								
									d638424b8a
								
							
						
					
					
						commit
						1a625dce18
					
				| @ -3093,8 +3093,7 @@ static int vc1_decode_p_mb(VC1Context *v) | ||||
|                     if((i>3) && (s->flags & CODEC_FLAG_GRAY)) continue; | ||||
|                     s->dsp.vc1_inv_trans_8x8(s->block[i]); | ||||
|                     if(v->rangeredfrm) for(j = 0; j < 64; j++) s->block[i][j] <<= 1; | ||||
|                     for(j = 0; j < 64; j++) s->block[i][j] += 128; | ||||
|                     s->dsp.put_pixels_clamped(s->block[i], s->dest[dst_idx] + off, s->linesize >> ((i & 4) >> 2)); | ||||
|                     s->dsp.put_signed_pixels_clamped(s->block[i], s->dest[dst_idx] + off, s->linesize >> ((i & 4) >> 2)); | ||||
|                     if(v->pq >= 9 && v->overlap) { | ||||
|                         if(v->c_avail) | ||||
|                             s->dsp.vc1_h_overlap(s->dest[dst_idx] + off, s->linesize >> ((i & 4) >> 2)); | ||||
| @ -3196,8 +3195,7 @@ static int vc1_decode_p_mb(VC1Context *v) | ||||
|                     if((i>3) && (s->flags & CODEC_FLAG_GRAY)) continue; | ||||
|                     s->dsp.vc1_inv_trans_8x8(s->block[i]); | ||||
|                     if(v->rangeredfrm) for(j = 0; j < 64; j++) s->block[i][j] <<= 1; | ||||
|                     for(j = 0; j < 64; j++) s->block[i][j] += 128; | ||||
|                     s->dsp.put_pixels_clamped(s->block[i], s->dest[dst_idx] + off, (i&4)?s->uvlinesize:s->linesize); | ||||
|                     s->dsp.put_signed_pixels_clamped(s->block[i], s->dest[dst_idx] + off, (i&4)?s->uvlinesize:s->linesize); | ||||
|                     if(v->pq >= 9 && v->overlap) { | ||||
|                         if(v->c_avail) | ||||
|                             s->dsp.vc1_h_overlap(s->dest[dst_idx] + off, s->linesize >> ((i & 4) >> 2)); | ||||
| @ -3377,8 +3375,7 @@ static void vc1_decode_b_mb(VC1Context *v) | ||||
|             if((i>3) && (s->flags & CODEC_FLAG_GRAY)) continue; | ||||
|             s->dsp.vc1_inv_trans_8x8(s->block[i]); | ||||
|             if(v->rangeredfrm) for(j = 0; j < 64; j++) s->block[i][j] <<= 1; | ||||
|             for(j = 0; j < 64; j++) s->block[i][j] += 128; | ||||
|             s->dsp.put_pixels_clamped(s->block[i], s->dest[dst_idx] + off, s->linesize >> ((i & 4) >> 2)); | ||||
|             s->dsp.put_signed_pixels_clamped(s->block[i], s->dest[dst_idx] + off, s->linesize >> ((i & 4) >> 2)); | ||||
|         } else if(val) { | ||||
|             vc1_decode_p_block(v, s->block[i], i, mquant, ttmb, first_block); | ||||
|             if(!v->ttmbf && ttmb < 8) ttmb = -1; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user