[FFmpeg-devel] [PATCH 53/57] avcodec/mpegvideo_dec: Remove unnecessary FFMIN
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Wed Jun 12 16:48:49 EEST 2024
No mpegvideo-based decoder supports lowres > 3,
so the FFMIN here are unnecessary.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavcodec/mpegvideo_dec.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/libavcodec/mpegvideo_dec.c b/libavcodec/mpegvideo_dec.c
index 4e279d9fa8..684f31947c 100644
--- a/libavcodec/mpegvideo_dec.c
+++ b/libavcodec/mpegvideo_dec.c
@@ -483,11 +483,13 @@ static inline int hpel_motion_lowres(MpegEncContext *s,
int motion_x, int motion_y)
{
const int lowres = s->avctx->lowres;
- const int op_index = FFMIN(lowres, 3);
+ const int op_index = lowres;
const int s_mask = (2 << lowres) - 1;
int emu = 0;
int sx, sy;
+ av_assert2(op_index <= 3);
+
if (s->quarter_sample) {
motion_x /= 2;
motion_y /= 2;
@@ -536,12 +538,15 @@ static av_always_inline void mpeg_motion_lowres(MpegEncContext *s,
int mx, my, src_x, src_y, uvsrc_x, uvsrc_y, sx, sy, uvsx, uvsy;
ptrdiff_t uvlinesize, linesize;
const int lowres = s->avctx->lowres;
- const int op_index = FFMIN(lowres - 1 + s->chroma_x_shift, 3);
+ const int op_index = lowres - 1 + s->chroma_x_shift;
const int block_s = 8 >> lowres;
const int s_mask = (2 << lowres) - 1;
const int h_edge_pos = s->h_edge_pos >> lowres;
const int v_edge_pos = s->v_edge_pos >> lowres;
int hc = s->chroma_y_shift ? (h+1-bottom_field)>>1 : h;
+
+ av_assert2(op_index <= 3);
+
linesize = s->cur_pic.linesize[0] << field_based;
uvlinesize = s->cur_pic.linesize[1] << field_based;
@@ -666,7 +671,7 @@ static inline void chroma_4mv_motion_lowres(MpegEncContext *s,
int mx, int my)
{
const int lowres = s->avctx->lowres;
- const int op_index = FFMIN(lowres, 3);
+ const int op_index = lowres;
const int block_s = 8 >> lowres;
const int s_mask = (2 << lowres) - 1;
const int h_edge_pos = s->h_edge_pos >> lowres + 1;
@@ -675,6 +680,8 @@ static inline void chroma_4mv_motion_lowres(MpegEncContext *s,
ptrdiff_t offset;
const uint8_t *ptr;
+ av_assert2(op_index <= 3);
+
if (s->quarter_sample) {
mx /= 2;
my /= 2;
--
2.40.1
More information about the ffmpeg-devel
mailing list