[FFmpeg-cvslog] avcodec: use the getters for xGA font data arrays

James Almer git at videolan.org
Tue Jul 22 15:52:40 EEST 2025


ffmpeg | branch: master | James Almer <jamrial at gmail.com> | Mon Jul 21 21:39:09 2025 -0300| [cb9742af76631a1036ecf364ec3af385e2b04045] | committer: James Almer

avcodec: use the getters for xGA font data arrays

Signed-off-by: James Almer <jamrial at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb9742af76631a1036ecf364ec3af385e2b04045
---

 libavcodec/ansi.c    | 12 ++++++------
 libavcodec/bintext.c |  4 ++--
 libavcodec/tmv.c     |  3 ++-
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/libavcodec/ansi.c b/libavcodec/ansi.c
index b58b72ef49..bde9edbe60 100644
--- a/libavcodec/ansi.c
+++ b/libavcodec/ansi.c
@@ -82,7 +82,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
     avctx->pix_fmt = AV_PIX_FMT_PAL8;
 
     /* defaults */
-    s->font        = avpriv_vga16_font;
+    s->font        = avpriv_vga16_font_get();
     s->font_height = 16;
     s->fg          = DEFAULT_FG_COLOR;
     s->bg          = DEFAULT_BG_COLOR;
@@ -217,19 +217,19 @@ static int execute_code(AVCodecContext * avctx, int c)
             s->args[0] = DEFAULT_SCREEN_MODE;
         switch(s->args[0]) {
         case 0: case 1: case 4: case 5: case 13: case 19: //320x200 (25 rows)
-            s->font = avpriv_cga_font;
+            s->font = avpriv_cga_font_get();
             s->font_height = 8;
             width  = 40<<3;
             height = 25<<3;
             break;
         case 2: case 3: //640x400 (25 rows)
-            s->font = avpriv_vga16_font;
+            s->font = avpriv_vga16_font_get();
             s->font_height = 16;
             width  = 80<<3;
             height = 25<<4;
             break;
         case 6: case 14: //640x200 (25 rows)
-            s->font = avpriv_cga_font;
+            s->font = avpriv_cga_font_get();
             s->font_height = 8;
             width  = 80<<3;
             height = 25<<3;
@@ -237,13 +237,13 @@ static int execute_code(AVCodecContext * avctx, int c)
         case 7: //set line wrapping
             break;
         case 15: case 16: //640x350 (43 rows)
-            s->font = avpriv_cga_font;
+            s->font = avpriv_cga_font_get();
             s->font_height = 8;
             width  = 80<<3;
             height = 43<<3;
             break;
         case 17: case 18: //640x480 (60 rows)
-            s->font = avpriv_cga_font;
+            s->font = avpriv_cga_font_get();
             s->font_height = 8;
             width  = 80<<3;
             height = 60<<4;
diff --git a/libavcodec/bintext.c b/libavcodec/bintext.c
index b91a741875..356042c1f0 100644
--- a/libavcodec/bintext.c
+++ b/libavcodec/bintext.c
@@ -93,10 +93,10 @@ static av_cold int decode_init(AVCodecContext *avctx)
             av_log(avctx, AV_LOG_WARNING, "font height %i not supported\n", s->font_height);
             s->font_height = 8;
         case 8:
-            s->font = avpriv_cga_font;
+            s->font = avpriv_cga_font_get();
             break;
         case 16:
-            s->font = avpriv_vga16_font;
+            s->font = avpriv_vga16_font_get();
             break;
         }
     }
diff --git a/libavcodec/tmv.c b/libavcodec/tmv.c
index ebd0e0b0bc..0eedc258c3 100644
--- a/libavcodec/tmv.c
+++ b/libavcodec/tmv.c
@@ -40,6 +40,7 @@ static int tmv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
                             int *got_frame, AVPacket *avpkt)
 {
     const uint8_t *src = avpkt->data;
+    const uint8_t *cga_font = avpriv_cga_font_get();
     uint8_t *dst;
     unsigned char_cols = avctx->width >> 3;
     unsigned char_rows = avctx->height >> 3;
@@ -67,7 +68,7 @@ static int tmv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
             bg = *src  >> 4;
             fg = *src++ & 0xF;
             ff_draw_pc_font(dst + x * 8, frame->linesize[0],
-                            avpriv_cga_font, 8, c, fg, bg);
+                            cga_font, 8, c, fg, bg);
         }
         dst += frame->linesize[0] * 8;
     }



More information about the ffmpeg-cvslog mailing list