[FFmpeg-cvslog] avcodec/mpegvideo_enc, motion_est: Pre-center fcode_tab
Andreas Rheinhardt
git at videolan.org
Fri Mar 7 16:22:25 EET 2025
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Thu Feb 17 16:54:20 2022 +0100| [85138c1434db29e792db7deb63530f72a69d4452] | committer: Andreas Rheinhardt
avcodec/mpegvideo_enc, motion_est: Pre-center fcode_tab
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=85138c1434db29e792db7deb63530f72a69d4452
---
libavcodec/ituh263enc.c | 2 +-
libavcodec/motion_est.c | 3 +--
libavcodec/mpeg12enc.c | 2 +-
libavcodec/mpeg4videoenc.c | 2 +-
libavcodec/mpegvideo_enc.c | 2 +-
5 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/libavcodec/ituh263enc.c b/libavcodec/ituh263enc.c
index 5beb857a6e..188996a4d1 100644
--- a/libavcodec/ituh263enc.c
+++ b/libavcodec/ituh263enc.c
@@ -843,7 +843,7 @@ av_cold void ff_h263_encode_init(MpegEncContext *s)
break;
case AV_CODEC_ID_H263P:
if(s->umvplus)
- s->fcode_tab= umv_fcode_tab;
+ s->fcode_tab = umv_fcode_tab + MAX_MV;
if(s->modified_quant){
s->min_qcoeff= -2047;
s->max_qcoeff= 2047;
diff --git a/libavcodec/motion_est.c b/libavcodec/motion_est.c
index 46c4ca2dd9..4940da21f3 100644
--- a/libavcodec/motion_est.c
+++ b/libavcodec/motion_est.c
@@ -1619,8 +1619,7 @@ int ff_get_best_fcode(MpegEncContext * s, const int16_t (*mv_table)[2], int type
if(s->mb_type[xy] & type){
int mx= mv_table[xy][0];
int my= mv_table[xy][1];
- int fcode= FFMAX(fcode_tab[mx + MAX_MV],
- fcode_tab[my + MAX_MV]);
+ int fcode = FFMAX(fcode_tab[mx], fcode_tab[my]);
int j;
if (mx >= range || mx < -range ||
diff --git a/libavcodec/mpeg12enc.c b/libavcodec/mpeg12enc.c
index ca51430fce..0586b8cfe2 100644
--- a/libavcodec/mpeg12enc.c
+++ b/libavcodec/mpeg12enc.c
@@ -1157,7 +1157,7 @@ av_cold void ff_mpeg1_encode_init(MpegEncContext *s)
s->c_dc_scale_table = ff_mpeg12_dc_scale_table[s->intra_dc_precision];
s->me.mv_penalty = mv_penalty;
- s->fcode_tab = fcode_tab;
+ s->fcode_tab = fcode_tab + MAX_MV;
if (s->codec_id == AV_CODEC_ID_MPEG1VIDEO) {
s->min_qcoeff = -255;
s->max_qcoeff = 255;
diff --git a/libavcodec/mpeg4videoenc.c b/libavcodec/mpeg4videoenc.c
index 26f9b40ff7..6ce5bc4462 100644
--- a/libavcodec/mpeg4videoenc.c
+++ b/libavcodec/mpeg4videoenc.c
@@ -1290,7 +1290,7 @@ static av_cold int encode_init(AVCodecContext *avctx)
ff_thread_once(&init_static_once, mpeg4_encode_init_static);
- s->fcode_tab = fcode_tab;
+ s->fcode_tab = fcode_tab + MAX_MV;
s->min_qcoeff = -2048;
s->max_qcoeff = 2047;
s->intra_ac_vlc_length = uni_mpeg4_intra_rl_len;
diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index 4e4b4c1ba9..4aeefcaf8d 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -286,7 +286,7 @@ static void mpv_encode_defaults(MpegEncContext *s)
ff_thread_once(&init_static_once, mpv_encode_init_static);
- s->fcode_tab = default_fcode_tab;
+ s->fcode_tab = default_fcode_tab + MAX_MV;
s->input_picture_number = 0;
s->picture_in_gop_number = 0;
More information about the ffmpeg-cvslog
mailing list