avcodec/rv10: Replace switch by LUT

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2023-10-03 02:32:10 +02:00
parent cd08bace55
commit 951bcc3c03
1 changed files with 5 additions and 16 deletions

View File

@ -158,25 +158,14 @@ static int rv10_decode_picture_header(MpegEncContext *s)
static int rv20_decode_picture_header(RVDecContext *rv, int whole_size) static int rv20_decode_picture_header(RVDecContext *rv, int whole_size)
{ {
static const enum AVPictureType pict_types[] =
{ AV_PICTURE_TYPE_I, AV_PICTURE_TYPE_I /* hmm ... */,
AV_PICTURE_TYPE_P, AV_PICTURE_TYPE_B };
MpegEncContext *s = &rv->m; MpegEncContext *s = &rv->m;
int seq, mb_pos, i, ret; int seq, mb_pos, ret;
int rpr_max; int rpr_max;
i = get_bits(&s->gb, 2); s->pict_type = pict_types[get_bits(&s->gb, 2)];
switch (i) {
case 0:
s->pict_type = AV_PICTURE_TYPE_I;
break;
case 1:
s->pict_type = AV_PICTURE_TYPE_I;
break; // hmm ...
case 2:
s->pict_type = AV_PICTURE_TYPE_P;
break;
case 3:
s->pict_type = AV_PICTURE_TYPE_B;
break;
}
if (s->low_delay && s->pict_type == AV_PICTURE_TYPE_B) { if (s->low_delay && s->pict_type == AV_PICTURE_TYPE_B) {
av_log(s->avctx, AV_LOG_ERROR, "low delay B\n"); av_log(s->avctx, AV_LOG_ERROR, "low delay B\n");