Browse Source

lavfi: remove avfilter_null_* from public API on next bump.

Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
tags/n0.11
Anton Khirnov 13 years ago
parent
commit
c04c533f62
21 changed files with 90 additions and 44 deletions
  1. +6
    -0
      libavfilter/avfilter.h
  2. +2
    -1
      libavfilter/split.c
  3. +5
    -4
      libavfilter/vf_aspect.c
  4. +3
    -2
      libavfilter/vf_blackframe.c
  5. +4
    -3
      libavfilter/vf_copy.c
  6. +2
    -1
      libavfilter/vf_crop.c
  7. +3
    -2
      libavfilter/vf_cropdetect.c
  8. +2
    -1
      libavfilter/vf_delogo.c
  9. +4
    -3
      libavfilter/vf_drawbox.c
  10. +2
    -1
      libavfilter/vf_drawtext.c
  11. +3
    -2
      libavfilter/vf_fade.c
  12. +2
    -1
      libavfilter/vf_fifo.c
  13. +9
    -8
      libavfilter/vf_format.c
  14. +4
    -3
      libavfilter/vf_null.c
  15. +2
    -1
      libavfilter/vf_select.c
  16. +2
    -1
      libavfilter/vf_setpts.c
  17. +3
    -2
      libavfilter/vf_settb.c
  18. +3
    -2
      libavfilter/vf_showinfo.c
  19. +3
    -2
      libavfilter/vf_slicify.c
  20. +20
    -4
      libavfilter/video.c
  21. +6
    -0
      libavfilter/video.h

+ 6
- 0
libavfilter/avfilter.h View File

@@ -487,18 +487,24 @@ int avfilter_default_query_formats(AVFilterContext *ctx);
*/
void avfilter_set_common_formats(AVFilterContext *ctx, AVFilterFormats *formats);

#if FF_API_FILTERS_PUBLIC
/** start_frame() handler for filters which simply pass video along */
attribute_deprecated
void avfilter_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref);

/** draw_slice() handler for filters which simply pass video along */
attribute_deprecated
void avfilter_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir);

/** end_frame() handler for filters which simply pass video along */
attribute_deprecated
void avfilter_null_end_frame(AVFilterLink *link);

/** get_video_buffer() handler for filters which simply pass video along */
attribute_deprecated
AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link,
int perms, int w, int h);
#endif

/**
* Filter definition. This defines the pads a filter contains, and all the


+ 2
- 1
libavfilter/split.c View File

@@ -25,6 +25,7 @@

#include "avfilter.h"
#include "audio.h"
#include "video.h"

static int split_init(AVFilterContext *ctx, const char *args, void *opaque)
{
@@ -100,7 +101,7 @@ AVFilter avfilter_vf_split = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer= avfilter_null_get_video_buffer,
.get_video_buffer= ff_null_get_video_buffer,
.start_frame = start_frame,
.draw_slice = draw_slice,
.end_frame = end_frame, },


+ 5
- 4
libavfilter/vf_aspect.c View File

@@ -25,6 +25,7 @@

#include "libavutil/mathematics.h"
#include "avfilter.h"
#include "video.h"

typedef struct {
AVRational aspect;
@@ -100,9 +101,9 @@ AVFilter avfilter_vf_setdar = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.config_props = setdar_config_props,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = start_frame,
.end_frame = avfilter_null_end_frame },
.end_frame = ff_null_end_frame },
{ .name = NULL}},

.outputs = (AVFilterPad[]) {{ .name = "default",
@@ -133,9 +134,9 @@ AVFilter avfilter_vf_setsar = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.config_props = setsar_config_props,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = start_frame,
.end_frame = avfilter_null_end_frame },
.end_frame = ff_null_end_frame },
{ .name = NULL}},

.outputs = (AVFilterPad[]) {{ .name = "default",


+ 3
- 2
libavfilter/vf_blackframe.c View File

@@ -28,6 +28,7 @@
*/

#include "avfilter.h"
#include "video.h"

typedef struct {
unsigned int bamount; ///< black amount
@@ -118,8 +119,8 @@ AVFilter avfilter_vf_blackframe = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.draw_slice = draw_slice,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.end_frame = end_frame, },
{ .name = NULL}},



+ 4
- 3
libavfilter/vf_copy.c View File

@@ -22,6 +22,7 @@
*/

#include "avfilter.h"
#include "video.h"

AVFilter avfilter_vf_copy = {
.name = "copy",
@@ -29,9 +30,9 @@ AVFilter avfilter_vf_copy = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.end_frame = avfilter_null_end_frame,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.end_frame = ff_null_end_frame,
.rej_perms = ~0 },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",


+ 2
- 1
libavfilter/vf_crop.c View File

@@ -26,6 +26,7 @@
/* #define DEBUG */

#include "avfilter.h"
#include "video.h"
#include "libavutil/eval.h"
#include "libavutil/avstring.h"
#include "libavutil/libm.h"
@@ -333,7 +334,7 @@ AVFilter avfilter_vf_crop = {
.start_frame = start_frame,
.draw_slice = draw_slice,
.end_frame = end_frame,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.config_props = config_input, },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",


+ 3
- 2
libavfilter/vf_cropdetect.c View File

@@ -25,6 +25,7 @@

#include "libavutil/imgutils.h"
#include "avfilter.h"
#include "video.h"

typedef struct {
int x1, y1, x2, y2;
@@ -203,8 +204,8 @@ AVFilter avfilter_vf_cropdetect = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.config_props = config_input,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.end_frame = end_frame, },
{ .name = NULL}},



+ 2
- 1
libavfilter/vf_delogo.c View File

@@ -29,6 +29,7 @@
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "video.h"

/**
* Apply a simple delogo algorithm to the image in dst and put the
@@ -271,7 +272,7 @@ AVFilter avfilter_vf_delogo = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = start_frame,
.draw_slice = null_draw_slice,
.end_frame = end_frame,


+ 4
- 3
libavfilter/vf_drawbox.c View File

@@ -28,6 +28,7 @@
#include "libavutil/pixdesc.h"
#include "libavutil/parseutils.h"
#include "avfilter.h"
#include "video.h"

enum { Y, U, V, A };

@@ -130,10 +131,10 @@ AVFilter avfilter_vf_drawbox = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.config_props = config_input,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.draw_slice = draw_slice,
.end_frame = avfilter_null_end_frame,
.end_frame = ff_null_end_frame,
.min_perms = AV_PERM_WRITE | AV_PERM_READ,
.rej_perms = AV_PERM_PRESERVE },
{ .name = NULL}},


+ 2
- 1
libavfilter/vf_drawtext.c View File

@@ -41,6 +41,7 @@
#include "libavutil/lfg.h"
#include "avfilter.h"
#include "drawutils.h"
#include "video.h"

#undef time

@@ -875,7 +876,7 @@ AVFilter avfilter_vf_drawtext = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = start_frame,
.draw_slice = null_draw_slice,
.end_frame = end_frame,


+ 3
- 2
libavfilter/vf_fade.c View File

@@ -27,6 +27,7 @@

#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "video.h"

typedef struct {
int factor, fade_per_frame;
@@ -157,8 +158,8 @@ AVFilter avfilter_vf_fade = {
.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.config_props = config_props,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.draw_slice = draw_slice,
.end_frame = end_frame,
.min_perms = AV_PERM_READ | AV_PERM_WRITE,


+ 2
- 1
libavfilter/vf_fifo.c View File

@@ -24,6 +24,7 @@
*/

#include "avfilter.h"
#include "video.h"

typedef struct BufPic {
AVFilterBufferRef *picref;
@@ -106,7 +107,7 @@ AVFilter avfilter_vf_fifo = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer= avfilter_null_get_video_buffer,
.get_video_buffer= ff_null_get_video_buffer,
.start_frame = start_frame,
.draw_slice = draw_slice,
.end_frame = end_frame,


+ 9
- 8
libavfilter/vf_format.c View File

@@ -25,6 +25,7 @@

#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "video.h"

typedef struct {
/**
@@ -104,10 +105,10 @@ AVFilter avfilter_vf_format = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer= avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.draw_slice = avfilter_null_draw_slice,
.end_frame = avfilter_null_end_frame, },
.get_video_buffer= ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.draw_slice = ff_null_draw_slice,
.end_frame = ff_null_end_frame, },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO },
@@ -134,10 +135,10 @@ AVFilter avfilter_vf_noformat = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer= avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.draw_slice = avfilter_null_draw_slice,
.end_frame = avfilter_null_end_frame, },
.get_video_buffer= ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.draw_slice = ff_null_draw_slice,
.end_frame = ff_null_end_frame, },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO },


+ 4
- 3
libavfilter/vf_null.c View File

@@ -22,6 +22,7 @@
*/

#include "avfilter.h"
#include "video.h"

AVFilter avfilter_vf_null = {
.name = "null",
@@ -31,9 +32,9 @@ AVFilter avfilter_vf_null = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.end_frame = avfilter_null_end_frame },
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.end_frame = ff_null_end_frame },
{ .name = NULL}},

.outputs = (AVFilterPad[]) {{ .name = "default",


+ 2
- 1
libavfilter/vf_select.c View File

@@ -27,6 +27,7 @@
#include "libavutil/fifo.h"
#include "libavutil/mathematics.h"
#include "avfilter.h"
#include "video.h"

static const char *const var_names[] = {
"E", ///< Euler number
@@ -339,7 +340,7 @@ AVFilter avfilter_vf_select = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.config_props = config_input,
.start_frame = start_frame,
.draw_slice = draw_slice,


+ 2
- 1
libavfilter/vf_setpts.c View File

@@ -29,6 +29,7 @@
#include "libavutil/eval.h"
#include "libavutil/mathematics.h"
#include "avfilter.h"
#include "video.h"

static const char *const var_names[] = {
"E", ///< Euler number
@@ -148,7 +149,7 @@ AVFilter avfilter_vf_setpts = {

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


+ 3
- 2
libavfilter/vf_settb.c View File

@@ -29,6 +29,7 @@
#include "libavutil/rational.h"
#include "avfilter.h"
#include "internal.h"
#include "video.h"

static const char *const var_names[] = {
"E",
@@ -130,9 +131,9 @@ AVFilter avfilter_vf_settb = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = start_frame,
.end_frame = avfilter_null_end_frame },
.end_frame = ff_null_end_frame },
{ .name = NULL }},

.outputs = (AVFilterPad[]) {{ .name = "default",


+ 3
- 2
libavfilter/vf_showinfo.c View File

@@ -26,6 +26,7 @@
#include "libavutil/imgutils.h"
#include "libavutil/pixdesc.h"
#include "avfilter.h"
#include "video.h"

typedef struct {
unsigned int frame;
@@ -86,8 +87,8 @@ AVFilter avfilter_vf_showinfo = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.start_frame = avfilter_null_start_frame,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = ff_null_start_frame,
.end_frame = end_frame,
.min_perms = AV_PERM_READ, },
{ .name = NULL}},


+ 3
- 2
libavfilter/vf_slicify.c View File

@@ -24,6 +24,7 @@
*/

#include "avfilter.h"
#include "video.h"
#include "libavutil/pixdesc.h"

typedef struct {
@@ -105,11 +106,11 @@ AVFilter avfilter_vf_slicify = {

.inputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO,
.get_video_buffer = avfilter_null_get_video_buffer,
.get_video_buffer = ff_null_get_video_buffer,
.start_frame = start_frame,
.draw_slice = draw_slice,
.config_props = config_props,
.end_frame = avfilter_null_end_frame, },
.end_frame = ff_null_end_frame, },
{ .name = NULL}},
.outputs = (AVFilterPad[]) {{ .name = "default",
.type = AVMEDIA_TYPE_VIDEO, },


+ 20
- 4
libavfilter/video.c View File

@@ -65,7 +65,7 @@ static void ff_dlog_ref(void *ctx, AVFilterBufferRef *ref, int end)
av_dlog(ctx, "]%s", end ? "\n" : "");
}

AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
AVFilterBufferRef *ff_null_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
{
return avfilter_get_video_buffer(link->dst->outputs[0], perms, w, h);
}
@@ -160,7 +160,7 @@ AVFilterBufferRef *avfilter_get_video_buffer(AVFilterLink *link, int perms, int
return ret;
}

void avfilter_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
void ff_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
{
avfilter_start_frame(link->dst->outputs[0], picref);
}
@@ -211,7 +211,7 @@ void avfilter_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
start_frame(link, link->cur_buf);
}

void avfilter_null_end_frame(AVFilterLink *link)
void ff_null_end_frame(AVFilterLink *link)
{
avfilter_end_frame(link->dst->outputs[0]);
}
@@ -252,7 +252,7 @@ void avfilter_end_frame(AVFilterLink *link)
}
}

void avfilter_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
void ff_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
{
avfilter_draw_slice(link->dst->outputs[0], y, h, slice_dir);
}
@@ -326,4 +326,20 @@ void avfilter_default_draw_slice(AVFilterLink *inlink, int y, int h, int slice_d
{
default_draw_slice(inlink, y, h, slice_dir);
}
AVFilterBufferRef *avfilter_null_get_video_buffer(AVFilterLink *link, int perms, int w, int h)
{
return ff_null_get_video_buffer(link, perms, w, h);
}
void avfilter_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref)
{
ff_null_start_frame(link, picref);
}
void avfilter_null_end_frame(AVFilterLink *link)
{
ff_null_end_frame(link);
}
void avfilter_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir)
{
ff_null_draw_slice(link, y, h, slice_dir);
}
#endif

+ 6
- 0
libavfilter/video.h View File

@@ -21,4 +21,10 @@

AVFilterBufferRef *ff_default_get_video_buffer(AVFilterLink *link,
int perms, int w, int h);
AVFilterBufferRef *ff_null_get_video_buffer(AVFilterLink *link, int perms, int w, int h);

void ff_null_start_frame(AVFilterLink *link, AVFilterBufferRef *picref);
void ff_null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir);
void ff_null_end_frame(AVFilterLink *link);

#endif /* AVFILTER_VIDEO_H */

Loading…
Cancel
Save