You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	avcodec/ituh263enc: Pass PutBitContext into h263p_encode_umotion() instead of MpegEncContext
This avoids the need to dereference MpegEncContext->pb if it is already available outside h263p_encode_umotion() Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
		| @@ -406,7 +406,7 @@ static void h263_encode_block(MpegEncContext * s, int16_t * block, int n) | ||||
| } | ||||
|  | ||||
| /* Encode MV differences on H.263+ with Unrestricted MV mode */ | ||||
| static void h263p_encode_umotion(MpegEncContext * s, int val) | ||||
| static void h263p_encode_umotion(PutBitContext *pb, int val) | ||||
| { | ||||
|     short sval = 0; | ||||
|     short i = 0; | ||||
| @@ -416,11 +416,11 @@ static void h263p_encode_umotion(MpegEncContext * s, int val) | ||||
|     int tcode; | ||||
|  | ||||
|     if ( val == 0) | ||||
|         put_bits(&s->pb, 1, 1); | ||||
|         put_bits(pb, 1, 1); | ||||
|     else if (val == 1) | ||||
|         put_bits(&s->pb, 3, 0); | ||||
|         put_bits(pb, 3, 0); | ||||
|     else if (val == -1) | ||||
|         put_bits(&s->pb, 3, 2); | ||||
|         put_bits(pb, 3, 2); | ||||
|     else { | ||||
|  | ||||
|         sval = ((val < 0) ? (short)(-val):(short)val); | ||||
| @@ -439,7 +439,7 @@ static void h263p_encode_umotion(MpegEncContext * s, int val) | ||||
|             i--; | ||||
|         } | ||||
|         code = ((code << 1) | (val < 0)) << 1; | ||||
|         put_bits(&s->pb, (2*n_bits)+1, code); | ||||
|         put_bits(pb, (2*n_bits)+1, code); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -496,8 +496,8 @@ void ff_h263_encode_mb(MpegEncContext * s, | ||||
|                                                 motion_y - pred_y, 1); | ||||
|             } | ||||
|             else { | ||||
|                 h263p_encode_umotion(s, motion_x - pred_x); | ||||
|                 h263p_encode_umotion(s, motion_y - pred_y); | ||||
|                 h263p_encode_umotion(&s->pb, motion_x - pred_x); | ||||
|                 h263p_encode_umotion(&s->pb, motion_y - pred_y); | ||||
|                 if (((motion_x - pred_x) == 1) && ((motion_y - pred_y) == 1)) | ||||
|                     /* To prevent Start Code emulation */ | ||||
|                     put_bits(&s->pb,1,1); | ||||
| @@ -525,8 +525,8 @@ void ff_h263_encode_mb(MpegEncContext * s, | ||||
|                                                     motion_y - pred_y, 1); | ||||
|                 } | ||||
|                 else { | ||||
|                     h263p_encode_umotion(s, motion_x - pred_x); | ||||
|                     h263p_encode_umotion(s, motion_y - pred_y); | ||||
|                     h263p_encode_umotion(&s->pb, motion_x - pred_x); | ||||
|                     h263p_encode_umotion(&s->pb, motion_y - pred_y); | ||||
|                     if (((motion_x - pred_x) == 1) && ((motion_y - pred_y) == 1)) | ||||
|                         /* To prevent Start Code emulation */ | ||||
|                         put_bits(&s->pb,1,1); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user