diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-10-03 02:32:10 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2023-10-05 22:05:21 +0200 |
commit | 951bcc3c0335cfdac130a359a93c1b3e3c2a0550 (patch) | |
tree | e70fc44b8d9a70dd1f9f08711522abf3aaf183a3 | |
parent | cd08bace553c701e8762ad6baa5529283717a58c (diff) | |
download | ffmpeg-951bcc3c0335cfdac130a359a93c1b3e3c2a0550.tar.gz |
avcodec/rv10: Replace switch by LUT
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavcodec/rv10.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 3f9d5ff242..216328ffe7 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -158,25 +158,14 @@ static int rv10_decode_picture_header(MpegEncContext *s) 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; - int seq, mb_pos, i, ret; + int seq, mb_pos, ret; int rpr_max; - i = 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; - } + s->pict_type = pict_types[get_bits(&s->gb, 2)]; if (s->low_delay && s->pict_type == AV_PICTURE_TYPE_B) { av_log(s->avctx, AV_LOG_ERROR, "low delay B\n"); |