[FFmpeg-devel] [PATCH v2 7/9] lavc/ccaption_dec: implement musical glyph

Aman Gupta ffmpeg at tmm1.net
Wed Jan 13 02:42:58 CET 2016


From: Aman Gupta <aman at tmm1.net>

This is the most commonly used character from the special north-american
character set. All the non-standard charsets are "optional" according to
the spec, and we currently implement none of them. This commit adds
support for "♪" which very popular (and has no ascii fallback), typically
used to indicate lyrics in captions.
---
 libavcodec/ccaption_dec.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/libavcodec/ccaption_dec.c b/libavcodec/ccaption_dec.c
index ff0735e..1c8a0d0 100644
--- a/libavcodec/ccaption_dec.c
+++ b/libavcodec/ccaption_dec.c
@@ -363,7 +363,11 @@ static int capture_screen(CCaptionSubContext *ctx)
                     }
                 }
                 prev_font = font[j];
-                av_bprintf(&ctx->buffer, "%s%s%c", e_tag, s_tag, row[j]);
+                if (row[j] == 1)
+                    av_bprintf(&ctx->buffer, "%s%s\u266A", e_tag, s_tag);
+                else
+                    av_bprintf(&ctx->buffer, "%s%s%c", e_tag, s_tag, row[j]);
+
             }
             av_bprintf(&ctx->buffer, "\\N");
         }
@@ -557,6 +561,9 @@ static void process_cc608(CCaptionSubContext *ctx, int64_t pts, uint8_t hi, uint
             ff_dlog(ctx, "Unknown command 0x%hhx 0x%hhx\n", hi, lo);
             break;
         }
+    } else if (hi == 0x11 && lo == 0x37) {
+        /* Musical note glyph */
+        handle_char(ctx, 1, 0, pts);
     } else if (hi >= 0x20) {
         /* Standard characters (always in pairs) */
         handle_char(ctx, hi, lo, pts);
-- 
2.5.3



More information about the ffmpeg-devel mailing list