summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRamiro Polla <ramiro.polla@gmail.com>2007-06-15 20:40:14 +0000
committerRamiro Polla <ramiro.polla@gmail.com>2007-06-15 20:40:14 +0000
commit6100cb477a08cecace1f8150a1f97c255fc58303 (patch)
treee7c94e768696192b4e0ab43c8f55881d2ed150e6
parent3d907e22071fce39b6e72527d5be4e8b1d7463c2 (diff)
Allow user to specify rgb.txt for imlib2 vhook
Originally committed as revision 9326 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--doc/hooks.texi13
-rw-r--r--vhook/imlib2.c17
2 files changed, 28 insertions, 2 deletions
diff --git a/doc/hooks.texi b/doc/hooks.texi
index 49504509f4..d4c4c5becb 100644
--- a/doc/hooks.texi
+++ b/doc/hooks.texi
@@ -67,8 +67,13 @@ with the full path to the font file, as in:
@end example
where 20 is the point size.
+You can specify the filename to read RGB color names from. If none are
+specified, these defaults are used: @file{/usr/share/X11/rgb.txt} and
+@file{/usr/lib/X11/rgb.txt}
+
Options:
@multitable @columnfractions .2 .8
+@item @option{-C <rgb.txt>} @tab The filename to read RGB color names from
@item @option{-c <color>} @tab The color of the text
@item @option{-F <fontname>} @tab The font face and size
@item @option{-t <text>} @tab The text
@@ -137,6 +142,14 @@ Usage examples:
a newline are treated as end-of-file. To create blank lines, use lines
that consist of space characters only.
+ # Scrolling credits with custom color from a text file
+ ffmpeg -i input.avi -vhook \
+ 'vhook/imlib2.so -C rgb.txt -c CustomColor1 -F VeraBd.ttf/16 -x 100 -y -1.0*N -f credits.txt' \
+ -sameq output.avi
+
+ This example does the same as the one above, but specifies an rgb.txt file
+ to be used, which has a custom made color in it.
+
# scrolling credits from a graphics file
ffmpeg -sameq -i input.avi \
-vhook 'vhook/imlib2.so -x 0 -y -1.0*N -i credits.png' output.avi
diff --git a/vhook/imlib2.c b/vhook/imlib2.c
index 4e6ffb67c0..98ccaf8c4b 100644
--- a/vhook/imlib2.c
+++ b/vhook/imlib2.c
@@ -15,6 +15,10 @@
*
* Options:
*
+ * -C <rgb.txt> The filename to read RGB color names from
+ * Defaults if none specified:
+ * /usr/share/X11/rgb.txt
+ * /usr/lib/X11/rgb.txt
* -c <color> The color of the text
* -F <fontname> The font face and size
* -t <text> The text
@@ -176,6 +180,7 @@ int Configure(void **ctxp, int argc, char *argv[])
{
int c;
ContextInfo *ci;
+ char *rgbtxt = 0;
char *font = "LucidaSansDemiBold/16";
char *fp = getenv("FONTPATH");
char *color = 0;
@@ -203,8 +208,11 @@ int Configure(void **ctxp, int argc, char *argv[])
imlib_add_path_to_font_path(fp);
- while ((c = getopt(argc, argv, "c:f:F:t:x:y:i:")) > 0) {
+ while ((c = getopt(argc, argv, "C:c:f:F:t:x:y:i:")) > 0) {
switch (c) {
+ case 'C':
+ rgbtxt = optarg;
+ break;
case 'c':
color = optarg;
break;
@@ -246,11 +254,16 @@ int Configure(void **ctxp, int argc, char *argv[])
char buff[256];
int done = 0;
+ if (rgbtxt)
+ f = fopen(rgbtxt, "r");
+ else
+ {
f = fopen("/usr/share/X11/rgb.txt", "r");
if (!f)
f = fopen("/usr/lib/X11/rgb.txt", "r");
+ }
if (!f) {
- fprintf(stderr, "Failed to find rgb.txt\n");
+ fprintf(stderr, "Failed to find RGB color names file\n");
return -1;
}
while (fgets(buff, sizeof(buff), f)) {