Hi,
Kindly find the updated patch attached.
Thanks,
Eejya

On Thu, Feb 5, 2015 at 4:34 PM, Stefano Sabatini <stefa...@gmail.com> wrote:

> On date Thursday 2015-02-05 16:16:15 +0530, Eejya Singh encoded:
> [...]
> > From c0d6197f1936445a23b9eb726de24ed54551c675 Mon Sep 17 00:00:00 2001
> > From: Eejya Singh <singh.ee...@gmail.com>
> > Date: Wed, 28 Jan 2015 17:41:42 +0530
>
> > Subject: [PATCH] Adding Force Style option in Subtitles Filter
>
> Change the name of the patch (use git-rebase --interactive and reword
> the commit log), and use something like "lavfi/subtitles: add
> force_style option". Check the log for more examples.
>
> >
> > Signed-off-by: Eejya Singh <singh.ee...@gmail.com>
> > ---
> >  doc/filters.texi           | 14 ++++++++++++++
> >  libavfilter/version.h      |  2 +-
> >  libavfilter/vf_subtitles.c | 25 +++++++++++++++++++++++++
> >  3 files changed, 40 insertions(+), 1 deletion(-)
> >
> > diff --git a/doc/filters.texi b/doc/filters.texi
> > index 261fd24..857d281 100644
> > --- a/doc/filters.texi
> > +++ b/doc/filters.texi
> > @@ -8470,6 +8470,10 @@ useful if not UTF-8.
> >
> >  @item stream_index, si
> >  Set subtitles stream index. @code{subtitles} filter only.
> > +
>
> > +@item force_style
> > +Set desired style for the customization of subtitles like :-
> FontSize=15,Italic=-1,Outline=2 etc.It follows ASS style format.
>
> Uhm no, please give a formal description. You can use examples later
> in the examples section (like you already did).
>
> > +
> >  @end table
> >
> >  If the first key is not specified, it is assumed that the first value
> > @@ -8496,6 +8500,16 @@ To render the second subtitles stream from that
> file, use:
> >  subtitles=video.mkv:si=1
> >  @end example
> >
> > +To change the font of subtitles stream from file, use:
> > +@example
> > +subtitles=sub.srt:force_style=FontName=Arial
> > +@end example
> > +
> > +To change the color and formatting of subtitles stream from file, use:
> > +@example
> > +subtitles='sub.srt:force_style=FontName=Arial,PrimaryColour=255'
> > +@end example
> > +
> >  @section super2xsai
> >
> >  Scale the input by 2x and smooth using the Super2xSaI (Scale and
> > diff --git a/libavfilter/version.h b/libavfilter/version.h
> > index 50967f4..7ec374d 100644
> > --- a/libavfilter/version.h
> > +++ b/libavfilter/version.h
> > @@ -31,7 +31,7 @@
> >
> >  #define LIBAVFILTER_VERSION_MAJOR  5
> >  #define LIBAVFILTER_VERSION_MINOR  6
> > -#define LIBAVFILTER_VERSION_MICRO 100
> > +#define LIBAVFILTER_VERSION_MICRO 101
> >
> >  #define LIBAVFILTER_VERSION_INT
> AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
> >
>  LIBAVFILTER_VERSION_MINOR, \
> > diff --git a/libavfilter/vf_subtitles.c b/libavfilter/vf_subtitles.c
> > index be4c6a5..50eab9b 100644
> > --- a/libavfilter/vf_subtitles.c
> > +++ b/libavfilter/vf_subtitles.c
> > @@ -51,6 +51,7 @@ typedef struct {
> >      ASS_Track    *track;
> >      char *filename;
> >      char *charenc;
> > +    char *force_style;
> >      int stream_index;
> >      uint8_t rgba_map[4];
> >      int     pix_step[4];       ///< steps per pixel for each plane of
> the main output
> > @@ -260,6 +261,7 @@ static const AVOption subtitles_options[] = {
> >      {"charenc",      "set input character encoding", OFFSET(charenc),
>     AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS},
> >      {"stream_index", "set stream index",
>  OFFSET(stream_index), AV_OPT_TYPE_INT,    { .i64 = -1 }, -1,
>  INT_MAX,  FLAGS},
> >      {"si",           "set stream index",
>  OFFSET(stream_index), AV_OPT_TYPE_INT,    { .i64 = -1 }, -1,
>  INT_MAX,  FLAGS},
> > +    {"force_style",  "force subtitle style",
>  OFFSET(force_style),  AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN,
> CHAR_MAX, FLAGS},
> >      {NULL},
> >  };
> >
>
> > @@ -389,9 +391,32 @@ static av_cold int init_subtitles(AVFilterContext
> *ctx)
> >      if (ass->charenc)
> >          av_dict_set(&codec_opts, "sub_charenc", ass->charenc, 0);
> >      ret = avcodec_open2(dec_ctx, dec, &codec_opts);
> > +
>
> stray change
>
> [...]
>
> LGTM otherwise.
> --
> FFmpeg = Fiendish & Fantastic Merciless Prodigious Evangelical Gem
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>



-- 
Eejya Singh,
3rd year undergraduate,
Computer Science,
BITS Pilani Goa Campus
From ed526a03c939055e2b9f931a0cb4e0e22b7b5b04 Mon Sep 17 00:00:00 2001
From: Eejya Singh <singh.ee...@gmail.com>
Date: Wed, 28 Jan 2015 17:41:42 +0530
Subject: [PATCH] lavfi/subtitles: add force_style option

Signed-off-by: Eejya Singh <singh.ee...@gmail.com>
---
 doc/filters.texi           | 14 ++++++++++++++
 libavfilter/version.h      |  2 +-
 libavfilter/vf_subtitles.c | 23 +++++++++++++++++++++++
 3 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/doc/filters.texi b/doc/filters.texi
index 261fd24..7f56f34 100644
--- a/doc/filters.texi
+++ b/doc/filters.texi
@@ -8470,6 +8470,10 @@ useful if not UTF-8.
 
 @item stream_index, si
 Set subtitles stream index. @code{subtitles} filter only.
+
+@item force_style
+Override default style or script info parameters of the subtitles.It follows ASS style format.
+
 @end table
 
 If the first key is not specified, it is assumed that the first value
@@ -8496,6 +8500,16 @@ To render the second subtitles stream from that file, use:
 subtitles=video.mkv:si=1
 @end example
 
+To change the font of subtitles stream from file, use:
+@example
+subtitles=sub.srt:force_style=FontName=Arial
+@end example
+
+To change the color and formatting of subtitles stream from file, use:
+@example
+subtitles='sub.srt:force_style=FontName=Arial,PrimaryColour=255'
+@end example
+
 @section super2xsai
 
 Scale the input by 2x and smooth using the Super2xSaI (Scale and
diff --git a/libavfilter/version.h b/libavfilter/version.h
index 50967f4..7ec374d 100644
--- a/libavfilter/version.h
+++ b/libavfilter/version.h
@@ -31,7 +31,7 @@
 
 #define LIBAVFILTER_VERSION_MAJOR  5
 #define LIBAVFILTER_VERSION_MINOR  6
-#define LIBAVFILTER_VERSION_MICRO 100
+#define LIBAVFILTER_VERSION_MICRO 101
 
 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
                                                LIBAVFILTER_VERSION_MINOR, \
diff --git a/libavfilter/vf_subtitles.c b/libavfilter/vf_subtitles.c
index be4c6a5..f7fc1a6 100644
--- a/libavfilter/vf_subtitles.c
+++ b/libavfilter/vf_subtitles.c
@@ -51,6 +51,7 @@ typedef struct {
     ASS_Track    *track;
     char *filename;
     char *charenc;
+    char *force_style;
     int stream_index;
     uint8_t rgba_map[4];
     int     pix_step[4];       ///< steps per pixel for each plane of the main output
@@ -260,6 +261,7 @@ static const AVOption subtitles_options[] = {
     {"charenc",      "set input character encoding", OFFSET(charenc),      AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS},
     {"stream_index", "set stream index",             OFFSET(stream_index), AV_OPT_TYPE_INT,    { .i64 = -1 }, -1,       INT_MAX,  FLAGS},
     {"si",           "set stream index",             OFFSET(stream_index), AV_OPT_TYPE_INT,    { .i64 = -1 }, -1,       INT_MAX,  FLAGS},
+    {"force_style",  "force subtitle style",         OFFSET(force_style),  AV_OPT_TYPE_STRING, {.str = NULL}, CHAR_MIN, CHAR_MAX, FLAGS},
     {NULL},
 };
 
@@ -392,6 +394,27 @@ static av_cold int init_subtitles(AVFilterContext *ctx)
     if (ret < 0)
         goto end;
 
+    if (ass->force_style) {
+        char **list = NULL;
+        char *temp = NULL;
+        char *ptr = av_strtok(ass->force_style, ",", &temp);
+        int i = 0;
+        while (ptr) {
+            av_dynarray_add(&list, &i, ptr);
+            if (!list) {
+                ret = AVERROR(ENOMEM);
+                goto end;
+            }
+            ptr = av_strtok(NULL, ",", &temp);
+        }
+        av_dynarray_add(&list, &i, NULL);
+        if (!list) {
+            ret = AVERROR(ENOMEM);
+            goto end;
+        }
+        ass_set_style_overrides(ass->library, list);
+        av_free(list);
+    }
     /* Decode subtitles and push them into the renderer (libass) */
     if (dec_ctx->subtitle_header)
         ass_process_codec_private(ass->track,
-- 
1.9.1

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to