FFmpeg
Classes | Macros | Typedefs | Functions | Variables
vf_uspp.c File Reference

Ultra Slow/Simple Post-processing filter. More...

#include "libavutil/avassert.h"
#include "libavutil/imgutils.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
#include "internal.h"
#include "avfilter.h"

Classes

struct  USPPContext
 

Macros

#define MAX_LEVEL   8 /* quality levels */
 
#define BLOCK   16
 
#define OFFSET(x)   offsetof(USPPContext, x)
 
#define FLAGS   AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
 
#define STORE(pos)
 

Typedefs

typedef struct USPPContext USPPContext
 

Functions

 AVFILTER_DEFINE_CLASS (uspp)
 
 DECLARE_ALIGNED (8, static const uint8_t, dither)[8][8]
 

Variables

AVFilter ff_vf_uspp
 

Detailed Description

Ultra Slow/Simple Post-processing filter.

Originally written by Michael Niedermayer for the MPlayer project, and ported by Arwa Arif for FFmpeg.

Macro Definition Documentation

§ STORE

#define STORE (   pos)
Value:
do { \
temp = ((src[x + y * src_stride + pos] << log2_scale) + d[pos]) >> 8; \
if (temp & 0x100) temp = ~(temp >> 31); \
dst[x + y * dst_stride + pos] = temp; \
} while (0)

Variable Documentation

§ ff_vf_uspp

AVFilter ff_vf_uspp
Initial value:
= {
.name = "uspp",
.description = NULL_IF_CONFIG_SMALL("Apply Ultra Simple / Slow Post-processing filter."),
.priv_size = sizeof(USPPContext),
.uninit = uninit,
.query_formats = query_formats,
.inputs = uspp_inputs,
.outputs = uspp_outputs,
.priv_class = &uspp_class,
}
Definition: vf_uspp.c:40
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
#define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL
Same as AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, except that the filter will have its filter_frame() c...
Definition: avfilter.h:133