From fbd7724d012c9ff833c78d1e6944d7a6da4809b8 Mon Sep 17 00:00:00 2001
From: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Date: Mon, 3 Mar 2025 18:07:02 +0100
Subject: [PATCH 13/77] avcodec/mpegvideo_enc: Only set fcode_tab if unset

This is in preparation for merging ff_mpeg1_encode_init()
into the MPEG-1/2 encoder's init function.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavcodec/mpegvideo_enc.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/libavcodec/mpegvideo_enc.c b/libavcodec/mpegvideo_enc.c
index d2e3ed1d8c..398b06d929 100644
--- a/libavcodec/mpegvideo_enc.c
+++ b/libavcodec/mpegvideo_enc.c
@@ -283,10 +283,10 @@ static av_cold void mpv_encode_defaults(MpegEncContext *s)
 
     ff_mpv_common_defaults(s);
 
-    ff_thread_once(&init_static_once, mpv_encode_init_static);
-
-    s->fcode_tab     = default_fcode_tab + MAX_MV;
-
+    if (!s->fcode_tab) {
+        s->fcode_tab = default_fcode_tab + MAX_MV;
+        ff_thread_once(&init_static_once, mpv_encode_init_static);
+    }
     if (!s->y_dc_scale_table) {
         s->y_dc_scale_table =
         s->c_dc_scale_table = ff_mpeg1_dc_scale_table;
-- 
2.45.2