Allow user to specify rgb.txt for imlib2 vhook

Originally committed as revision 9326 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Ramiro Polla 18 years ago
parent 3d907e2207
commit 6100cb477a
  1. 13
      doc/hooks.texi
  2. 17
      vhook/imlib2.c

@ -67,8 +67,13 @@ with the full path to the font file, as in:
@end example @end example
where 20 is the point size. 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: Options:
@multitable @columnfractions .2 .8 @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{-c <color>} @tab The color of the text
@item @option{-F <fontname>} @tab The font face and size @item @option{-F <fontname>} @tab The font face and size
@item @option{-t <text>} @tab The text @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 a newline are treated as end-of-file. To create blank lines, use lines
that consist of space characters only. 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 # scrolling credits from a graphics file
ffmpeg -sameq -i input.avi \ ffmpeg -sameq -i input.avi \
-vhook 'vhook/imlib2.so -x 0 -y -1.0*N -i credits.png' output.avi -vhook 'vhook/imlib2.so -x 0 -y -1.0*N -i credits.png' output.avi

@ -15,6 +15,10 @@
* *
* Options: * 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 * -c <color> The color of the text
* -F <fontname> The font face and size * -F <fontname> The font face and size
* -t <text> The text * -t <text> The text
@ -176,6 +180,7 @@ int Configure(void **ctxp, int argc, char *argv[])
{ {
int c; int c;
ContextInfo *ci; ContextInfo *ci;
char *rgbtxt = 0;
char *font = "LucidaSansDemiBold/16"; char *font = "LucidaSansDemiBold/16";
char *fp = getenv("FONTPATH"); char *fp = getenv("FONTPATH");
char *color = 0; char *color = 0;
@ -203,8 +208,11 @@ int Configure(void **ctxp, int argc, char *argv[])
imlib_add_path_to_font_path(fp); 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) { switch (c) {
case 'C':
rgbtxt = optarg;
break;
case 'c': case 'c':
color = optarg; color = optarg;
break; break;
@ -246,11 +254,16 @@ int Configure(void **ctxp, int argc, char *argv[])
char buff[256]; char buff[256];
int done = 0; int done = 0;
if (rgbtxt)
f = fopen(rgbtxt, "r");
else
{
f = fopen("/usr/share/X11/rgb.txt", "r"); f = fopen("/usr/share/X11/rgb.txt", "r");
if (!f) if (!f)
f = fopen("/usr/lib/X11/rgb.txt", "r"); f = fopen("/usr/lib/X11/rgb.txt", "r");
}
if (!f) { if (!f) {
fprintf(stderr, "Failed to find rgb.txt\n"); fprintf(stderr, "Failed to find RGB color names file\n");
return -1; return -1;
} }
while (fgets(buff, sizeof(buff), f)) { while (fgets(buff, sizeof(buff), f)) {

Loading…
Cancel
Save