[FFmpeg-devel] [PATCH 09/11] avcodec/movtextdec: Avoid loop when writing UTF-8 character to AVBPrint

Andreas Rheinhardt andreas.rheinhardt at gmail.com
Sat Oct 17 21:22:46 EEST 2020


Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
 libavcodec/movtextdec.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavcodec/movtextdec.c b/libavcodec/movtextdec.c
index 1bfca8b79d..e5ce58a184 100644
--- a/libavcodec/movtextdec.c
+++ b/libavcodec/movtextdec.c
@@ -430,7 +430,6 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
             av_log(avctx, AV_LOG_ERROR, "invalid UTF-8 byte in subtitle\n");
             len = 1;
         }
-        for (i = 0; i < len; i++) {
             switch (*text) {
             case '\r':
                 break;
@@ -438,11 +437,10 @@ static int text_to_ass(AVBPrint *buf, const char *text, const char *text_end,
                 av_bprintf(buf, "\\N");
                 break;
             default:
-                av_bprint_chars(buf, *text, 1);
+                av_bprint_append_data(buf, text, len);
                 break;
             }
-            text++;
-        }
+        text += len;
         text_pos++;
     }
 
-- 
2.25.1



More information about the ffmpeg-devel mailing list