#include "internal.h"
#include "video.h"
-typedef struct {
+typedef struct BlackFrameContext {
const AVClass *class;
int bamount; ///< black amount
int bthresh; ///< black threshold
static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
{
AVFilterContext *ctx = inlink->dst;
- BlackFrameContext *blackframe = ctx->priv;
+ BlackFrameContext *s = ctx->priv;
int x, i;
int pblack = 0;
uint8_t *p = frame->data[0];
for (i = 0; i < frame->height; i++) {
for (x = 0; x < inlink->w; x++)
- blackframe->nblack += p[x] < blackframe->bthresh;
+ s->nblack += p[x] < s->bthresh;
p += frame->linesize[0];
}
- pblack = blackframe->nblack * 100 / (inlink->w * inlink->h);
- if (pblack >= blackframe->bamount)
+ pblack = s->nblack * 100 / (inlink->w * inlink->h);
+ if (pblack >= s->bamount)
av_log(ctx, AV_LOG_INFO, "frame:%u pblack:%u pts:%"PRId64" t:%f\n",
- blackframe->frame, pblack, frame->pts,
+ s->frame, pblack, frame->pts,
frame->pts == AV_NOPTS_VALUE ? -1 : frame->pts * av_q2d(inlink->time_base));
- blackframe->frame++;
- blackframe->nblack = 0;
+ s->frame++;
+ s->nblack = 0;
return ff_filter_frame(inlink->dst->outputs[0], frame);
}
{ NULL }
};
-AVFilter avfilter_vf_blackframe = {
+AVFilter ff_vf_blackframe = {
.name = "blackframe",
.description = NULL_IF_CONFIG_SMALL("Detect frames that are (almost) black."),