mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-01 18:21:04 +00: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:
parent
404fe63e23
commit
db5ea69d80
@ -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 */
|
/* 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 sval = 0;
|
||||||
short i = 0;
|
short i = 0;
|
||||||
@ -416,11 +416,11 @@ static void h263p_encode_umotion(MpegEncContext * s, int val)
|
|||||||
int tcode;
|
int tcode;
|
||||||
|
|
||||||
if ( val == 0)
|
if ( val == 0)
|
||||||
put_bits(&s->pb, 1, 1);
|
put_bits(pb, 1, 1);
|
||||||
else if (val == 1)
|
else if (val == 1)
|
||||||
put_bits(&s->pb, 3, 0);
|
put_bits(pb, 3, 0);
|
||||||
else if (val == -1)
|
else if (val == -1)
|
||||||
put_bits(&s->pb, 3, 2);
|
put_bits(pb, 3, 2);
|
||||||
else {
|
else {
|
||||||
|
|
||||||
sval = ((val < 0) ? (short)(-val):(short)val);
|
sval = ((val < 0) ? (short)(-val):(short)val);
|
||||||
@ -439,7 +439,7 @@ static void h263p_encode_umotion(MpegEncContext * s, int val)
|
|||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
code = ((code << 1) | (val < 0)) << 1;
|
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);
|
motion_y - pred_y, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
h263p_encode_umotion(s, motion_x - pred_x);
|
h263p_encode_umotion(&s->pb, motion_x - pred_x);
|
||||||
h263p_encode_umotion(s, motion_y - pred_y);
|
h263p_encode_umotion(&s->pb, motion_y - pred_y);
|
||||||
if (((motion_x - pred_x) == 1) && ((motion_y - pred_y) == 1))
|
if (((motion_x - pred_x) == 1) && ((motion_y - pred_y) == 1))
|
||||||
/* To prevent Start Code emulation */
|
/* To prevent Start Code emulation */
|
||||||
put_bits(&s->pb,1,1);
|
put_bits(&s->pb,1,1);
|
||||||
@ -525,8 +525,8 @@ void ff_h263_encode_mb(MpegEncContext * s,
|
|||||||
motion_y - pred_y, 1);
|
motion_y - pred_y, 1);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
h263p_encode_umotion(s, motion_x - pred_x);
|
h263p_encode_umotion(&s->pb, motion_x - pred_x);
|
||||||
h263p_encode_umotion(s, motion_y - pred_y);
|
h263p_encode_umotion(&s->pb, motion_y - pred_y);
|
||||||
if (((motion_x - pred_x) == 1) && ((motion_y - pred_y) == 1))
|
if (((motion_x - pred_x) == 1) && ((motion_y - pred_y) == 1))
|
||||||
/* To prevent Start Code emulation */
|
/* To prevent Start Code emulation */
|
||||||
put_bits(&s->pb,1,1);
|
put_bits(&s->pb,1,1);
|
||||||
|
Loading…
Reference in New Issue
Block a user