]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_yadif.c
asm: Consistently uppercase SECTION markers
[ffmpeg] / libavfilter / vf_yadif.c
index 53c567cb9675d0cfd0f2e35cbbe654ab77eb99d1..75f2d177588febf5d27f73e58c8ea826fa9c829f 100644 (file)
@@ -186,7 +186,7 @@ static int filter_slice(AVFilterContext *ctx, void *arg, int jobnr, int nb_jobs)
     YADIFContext *s = ctx->priv;
     ThreadData *td  = arg;
     int refs = s->cur->linesize[td->plane];
-    int df = (s->csp->comp[td->plane].depth_minus1 + 8) / 8;
+    int df = (s->csp->comp[td->plane].depth + 7) / 8;
     int pix_3 = 3 * df;
     int slice_h = td->h / nb_jobs;
     int slice_start = jobnr * slice_h;
@@ -398,7 +398,7 @@ static int poll_frame(AVFilterLink *link)
     if (val <= 0)
         return val;
 
-    //FIXME change API to not requre this red tape
+    //FIXME change API to not require this red tape
     if (val == 1 && !yadif->next) {
         if ((ret = ff_request_frame(link->src->inputs[0])) < 0)
             return ret;
@@ -462,8 +462,12 @@ static int config_props(AVFilterLink *link)
     link->w             = link->src->inputs[0]->w;
     link->h             = link->src->inputs[0]->h;
 
+    if (s->mode & 1)
+        link->frame_rate = av_mul_q(link->src->inputs[0]->frame_rate,
+                                    (AVRational){2, 1});
+
     s->csp = av_pix_fmt_desc_get(link->format);
-    if (s->csp->comp[0].depth_minus1 / 8 == 1) {
+    if (s->csp->comp[0].depth > 8) {
         s->filter_line  = filter_line_c_16bit;
         s->filter_edges = filter_edges_16bit;
     } else {