Initialize correctly optind.
[libav.git] / vhook / fish.c
index 7ab3448..be23dc6 100644 (file)
@@ -124,7 +124,7 @@ int Configure(void **ctxp, int argc, char *argv[])
     *ctxp = av_mallocz(sizeof(ContextInfo));
     ci = (ContextInfo *) *ctxp;
 
-    optind = 0;
+    optind = 1;
 
     ci->dir = "/tmp";
     ci->threshold = 100;
@@ -230,7 +230,7 @@ static void get_hsv(HSV *hsv, int r, int g, int b)
 void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width, int height, int64_t pts)
 {
     ContextInfo *ci = (ContextInfo *) ctx;
-    uint8_t *cm = cropTbl + MAX_NEG_CROP;
+    uint8_t *cm = ff_cropTbl + MAX_NEG_CROP;
     int rowsize = picture->linesize[0];
 
 #if 0
@@ -338,6 +338,9 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width,
             }
 
             if (foundfile < ci->file_limit) {
+                FILE *f;
+                char fname[256];
+
                 size = avpicture_get_size(PIX_FMT_RGB24, width, height);
                 buf = av_malloc(size);
 
@@ -351,7 +354,7 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width,
                 if (ci->toRGB_convert_ctx == NULL) {
                     av_log(NULL, AV_LOG_ERROR,
                            "Cannot initialize the toRGB conversion context\n");
-                    exit(1);
+                    return;
                 }
                 // img_convert parameters are          2 first destination, then 4 source
                 // sws_scale   parameters are context, 4 first source,      then 2 destination
@@ -360,10 +363,6 @@ void Process(void *ctx, AVPicture *picture, enum PixelFormat pix_fmt, int width,
                               picture1.data, picture1.linesize);
 
                     /* Write out the PPM file */
-
-                    FILE *f;
-                    char fname[256];
-
                     snprintf(fname, sizeof(fname), "%s/fishimg%ld_%"PRId64".ppm", ci->dir, (long)(av_gettime() / 1000000), pts);
                     f = fopen(fname, "w");
                     if (f) {