Allow user to specify rgb.txt for imlib2 vhook

Originally committed as revision 9326 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ramiro Polla 2007-06-15 20:40:14 +00:00
parent 3d907e2207
commit 6100cb477a
2 changed files with 28 additions and 2 deletions

View File

@ -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

View File

@ -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)) {