libavfilter/vf_blackdetect.c File Reference

Video black detector, loosely based on blackframe with extended syntax and features. More...

#include <float.h>
#include "libavutil/opt.h"
#include "libavutil/timestamp.h"
#include "avfilter.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  BlackDetectContext

Defines

#define OFFSET(x)   offsetof(BlackDetectContext, x)
#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM
#define YUVJ_FORMATS   PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_YUVJ440P

Functions

 AVFILTER_DEFINE_CLASS (blackdetect)
static int query_formats (AVFilterContext *ctx)
static av_cold int init (AVFilterContext *ctx, const char *args)
static int config_input (AVFilterLink *inlink)
static void check_black_end (AVFilterContext *ctx)
static int request_frame (AVFilterLink *outlink)
static int draw_slice (AVFilterLink *inlink, int y, int h, int slice_dir)
static int end_frame (AVFilterLink *inlink)

Variables

static const AVOption blackdetect_options []
static enum PixelFormat yuvj_formats []
AVFilter avfilter_vf_blackdetect


Detailed Description

Video black detector, loosely based on blackframe with extended syntax and features.

Definition in file vf_blackdetect.c.


Define Documentation

#define FLAGS   AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM

Definition at line 51 of file vf_blackdetect.c.

#define OFFSET (  )     offsetof(BlackDetectContext, x)

Definition at line 50 of file vf_blackdetect.c.

#define YUVJ_FORMATS   PIX_FMT_YUVJ420P, PIX_FMT_YUVJ422P, PIX_FMT_YUVJ444P, PIX_FMT_YUVJ440P

Definition at line 65 of file vf_blackdetect.c.

Referenced by query_formats().


Function Documentation

AVFILTER_DEFINE_CLASS ( blackdetect   ) 

static void check_black_end ( AVFilterContext ctx  )  [static]

Definition at line 120 of file vf_blackdetect.c.

Referenced by end_frame(), and request_frame().

static int config_input ( AVFilterLink inlink  )  [static]

Definition at line 99 of file vf_blackdetect.c.

static int draw_slice ( AVFilterLink inlink,
int  y,
int  h,
int  slice_dir 
) [static]

Definition at line 149 of file vf_blackdetect.c.

static int end_frame ( AVFilterLink inlink  )  [static]

Definition at line 166 of file vf_blackdetect.c.

static av_cold int init ( AVFilterContext ctx,
const char *  args 
) [static]

Definition at line 85 of file vf_blackdetect.c.

static int query_formats ( AVFilterContext ctx  )  [static]

Definition at line 72 of file vf_blackdetect.c.

static int request_frame ( AVFilterLink outlink  )  [static]

Definition at line 134 of file vf_blackdetect.c.


Variable Documentation

Initial value:

 {
    .name          = "blackdetect",
    .description   = NULL_IF_CONFIG_SMALL("Detect video intervals that are (almost) black."),
    .priv_size     = sizeof(BlackDetectContext),
    .init          = init,
    .query_formats = query_formats,

    .inputs = (const AVFilterPad[]) {
        { .name             = "default",
          .type             = AVMEDIA_TYPE_VIDEO,
          .config_props     = config_input,
          .draw_slice       = draw_slice,
          .get_video_buffer = ff_null_get_video_buffer,
          .start_frame      = ff_null_start_frame,
          .end_frame        = end_frame, },
        { .name = NULL }
    },

    .outputs = (const AVFilterPad[]) {
        { .name             = "default",
          .type             = AVMEDIA_TYPE_VIDEO,
          .request_frame    = request_frame, },
        { .name = NULL }
    },
    .priv_class = &blackdetect_class,
}

Definition at line 200 of file vf_blackdetect.c.

const AVOption blackdetect_options[] [static]

Initial value:

 {
    { "d",                  "set minimum detected black duration in seconds", OFFSET(black_min_duration_time), AV_OPT_TYPE_DOUBLE, {.dbl=2}, 0, DBL_MAX, FLAGS },
    { "black_min_duration", "set minimum detected black duration in seconds", OFFSET(black_min_duration_time), AV_OPT_TYPE_DOUBLE, {.dbl=2}, 0, DBL_MAX, FLAGS },
    { "picture_black_ratio_th", "set the picture black ratio threshold", OFFSET(picture_black_ratio_th), AV_OPT_TYPE_DOUBLE, {.dbl=.98}, 0, 1, FLAGS },
    { "pic_th",                 "set the picture black ratio threshold", OFFSET(picture_black_ratio_th), AV_OPT_TYPE_DOUBLE, {.dbl=.98}, 0, 1, FLAGS },
    { "pixel_black_th", "set the pixel black threshold", OFFSET(pixel_black_th), AV_OPT_TYPE_DOUBLE, {.dbl=.10}, 0, 1, FLAGS },
    { "pix_th",         "set the pixel black threshold", OFFSET(pixel_black_th), AV_OPT_TYPE_DOUBLE, {.dbl=.10}, 0, 1, FLAGS },
    { NULL },
}

Definition at line 53 of file vf_blackdetect.c.

enum PixelFormat yuvj_formats[] [static]

Initial value:

Definition at line 68 of file vf_blackdetect.c.

Referenced by config_input().


Generated on Fri Oct 26 02:50:10 2012 for FFmpeg by  doxygen 1.5.8