]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_libvmaf.c
vf_zscale: Fix alpha destination graph for floating point pixel formats
[ffmpeg] / libavfilter / vf_libvmaf.c
index 2c3a9f33493adae94e37d2ca7c787b680eeca6b9..e83b89b4f1b176b73ed04ec89dab88039f8a22f3 100644 (file)
@@ -40,7 +40,6 @@ typedef struct LIBVMAFContext {
     const AVClass *class;
     FFFrameSync fs;
     const AVPixFmtDescriptor *desc;
-    char *format;
     int width;
     int height;
     double vmaf_score;
@@ -149,6 +148,7 @@ static void compute_vmaf_score(LIBVMAFContext *s)
 {
     int (*read_frame)(float *ref_data, float *main_data, float *temp_data,
                       int stride, void *ctx);
+    char *format;
 
     if (s->desc->comp[0].depth <= 8) {
         read_frame = read_frame_8bit;
@@ -156,7 +156,9 @@ static void compute_vmaf_score(LIBVMAFContext *s)
         read_frame = read_frame_10bit;
     }
 
-    s->vmaf_score = compute_vmaf(s->format, s->width, s->height, read_frame, s,
+    format = (char *) s->desc->name;
+
+    s->vmaf_score = compute_vmaf(format, s->width, s->height, read_frame, s,
                                  s->model_path, s->log_path, s->log_fmt, 0, 0,
                                  s->enable_transform, s->phone_model, s->psnr,
                                  s->ssim, s->ms_ssim, s->pool);
@@ -174,14 +176,14 @@ static int do_vmaf(FFFrameSync *fs)
 {
     AVFilterContext *ctx = fs->parent;
     LIBVMAFContext *s = ctx->priv;
-    AVFrame *main, *ref;
+    AVFrame *master, *ref;
     int ret;
 
-    ret = ff_framesync_dualinput_get(fs, &main, &ref);
+    ret = ff_framesync_dualinput_get(fs, &master, &ref);
     if (ret < 0)
         return ret;
     if (!ref)
-        return ff_filter_frame(ctx->outputs[0], main);
+        return ff_filter_frame(ctx->outputs[0], master);
 
     pthread_mutex_lock(&s->lock);
 
@@ -190,14 +192,14 @@ static int do_vmaf(FFFrameSync *fs)
     }
 
     av_frame_ref(s->gref, ref);
-    av_frame_ref(s->gmain, main);
+    av_frame_ref(s->gmain, master);
 
     s->frame_set = 1;
 
     pthread_cond_signal(&s->cond);
     pthread_mutex_unlock(&s->lock);
 
-    return ff_filter_frame(ctx->outputs[0], main);
+    return ff_filter_frame(ctx->outputs[0], master);
 }
 
 static av_cold int init(AVFilterContext *ctx)
@@ -258,7 +260,6 @@ static int config_input_ref(AVFilterLink *inlink)
     return 0;
 }
 
-
 static int config_output(AVFilterLink *outlink)
 {
     AVFilterContext *ctx = outlink->src;