avfilter/showspectrum: add blackman window.
[ffmpeg.git] / libavfilter / vf_telecine.c
index 76fb22c..811ae27 100644 (file)
@@ -43,7 +43,6 @@ typedef struct {
     double ts_unit;
     int out_cnt;
     int occupied;
-    int64_t frame_count;
 
     int nb_planes;
     int planeheight[4];
@@ -104,7 +103,9 @@ static int query_formats(AVFilterContext *ctx)
 
     for (fmt = 0; fmt < AV_PIX_FMT_NB; fmt++) {
         const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(fmt);
-        if (!(desc->flags & PIX_FMT_HWACCEL))
+        if (!(desc->flags & AV_PIX_FMT_FLAG_HWACCEL ||
+              desc->flags & AV_PIX_FMT_FLAG_PAL     ||
+              desc->flags & AV_PIX_FMT_FLAG_BITSTREAM))
             ff_add_format(&pix_fmts, fmt);
     }
 
@@ -130,7 +131,7 @@ static int config_input(AVFilterLink *inlink)
     if ((ret = av_image_fill_linesizes(tc->stride, inlink->format, inlink->w)) < 0)
         return ret;
 
-    tc->planeheight[1] = tc->planeheight[2] = inlink->h >> desc->log2_chroma_h;
+    tc->planeheight[1] = tc->planeheight[2] = FF_CEIL_RSHIFT(inlink->h, desc->log2_chroma_h);
     tc->planeheight[0] = tc->planeheight[3] = inlink->h;
 
     tc->nb_planes = av_pix_fmt_count_planes(inlink->format);
@@ -157,6 +158,8 @@ static int config_output(AVFilterLink *outlink)
     outlink->flags |= FF_LINK_FLAG_REQUEST_LOOP;
     outlink->frame_rate = fps;
     outlink->time_base = av_mul_q(inlink->time_base, tc->pts);
+    av_log(ctx, AV_LOG_VERBOSE, "TB: %d/%d -> %d/%d\n",
+           inlink->time_base.num, inlink->time_base.den, outlink->time_base.num, outlink->time_base.den);
 
     tc->ts_unit = av_q2d(av_inv_q(av_mul_q(fps, outlink->time_base)));
 
@@ -232,8 +235,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *inpicref)
             return AVERROR(ENOMEM);
         }
 
-        av_frame_copy_props(frame, inpicref);
-        frame->pts = tc->frame_count++ * tc->ts_unit;
+        frame->pts = outlink->frame_count * tc->ts_unit;
         ret = ff_filter_frame(outlink, frame);
     }
     av_frame_free(&inpicref);
@@ -270,7 +272,7 @@ static const AVFilterPad telecine_outputs[] = {
     { NULL }
 };
 
-AVFilter avfilter_vf_telecine = {
+AVFilter ff_vf_telecine = {
     .name          = "telecine",
     .description   = NULL_IF_CONFIG_SMALL("Apply a telecine pattern."),
     .priv_size     = sizeof(TelecineContext),