avcodec/h261enc: Pass PutBitContext directly in h261_encode_motion()

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-01-28 19:27:14 +01:00
parent 8401b94602
commit e911f5546f
1 changed files with 6 additions and 7 deletions

View File

@ -141,13 +141,12 @@ void ff_h261_reorder_mb_index(MpegEncContext *s)
}
}
static void h261_encode_motion(H261EncContext *h, int val)
static void h261_encode_motion(PutBitContext *pb, int val)
{
MpegEncContext *const s = &h->s;
int sign, code;
if (val == 0) {
code = 0;
put_bits(&s->pb, ff_h261_mv_tab[code][1], ff_h261_mv_tab[code][0]);
put_bits(pb, ff_h261_mv_tab[code][1], ff_h261_mv_tab[code][0]);
} else {
if (val > 15)
val -= 32;
@ -155,8 +154,8 @@ static void h261_encode_motion(H261EncContext *h, int val)
val += 32;
sign = val < 0;
code = sign ? -val : val;
put_bits(&s->pb, ff_h261_mv_tab[code][1], ff_h261_mv_tab[code][0]);
put_bits(&s->pb, 1, sign);
put_bits(pb, ff_h261_mv_tab[code][1], ff_h261_mv_tab[code][0]);
put_bits(pb, 1, sign);
}
}
@ -314,8 +313,8 @@ void ff_h261_encode_mb(MpegEncContext *s, int16_t block[6][64],
mv_diff_y = (motion_y >> 1) - s->last_mv[0][0][1];
s->last_mv[0][0][0] = (motion_x >> 1);
s->last_mv[0][0][1] = (motion_y >> 1);
h261_encode_motion(h, mv_diff_x);
h261_encode_motion(h, mv_diff_y);
h261_encode_motion(&s->pb, mv_diff_x);
h261_encode_motion(&s->pb, mv_diff_y);
}
if (HAS_CBP(com->mtype)) {