FFmpeg
Classes | Macros | Typedefs | Variables
vf_super2xsai.c File Reference

Super 2xSaI video filter Ported from MPlayer libmpcodecs/vf_2xsai.c. More...

#include "libavutil/pixdesc.h"
#include "libavutil/intreadwrite.h"
#include "avfilter.h"
#include "formats.h"
#include "internal.h"
#include "video.h"

Classes

struct  Super2xSaIContext
 

Macros

#define GET_RESULT(A, B, C, D)   ((A != C || A != D) - (B != C || B != D))
 
#define INTERPOLATE(A, B)   (((A & hi_pixel_mask) >> 1) + ((B & hi_pixel_mask) >> 1) + (A & B & lo_pixel_mask))
 
#define Q_INTERPOLATE(A, B, C, D)
 
#define READ_COLOR4(dst, src_line, off)   dst = *((const uint32_t *)src_line + off)
 
#define READ_COLOR3(dst, src_line, off)   dst = AV_RL24 (src_line + 3*off)
 
#define READ_COLOR2(dst, src_line, off)   dst = s->is_be ? AV_RB16(src_line + 2 * off) : AV_RL16(src_line + 2 * off)
 

Typedefs

typedef struct Super2xSaIContext Super2xSaIContext
 

Variables

AVFilter ff_vf_super2xsai
 

Detailed Description

Super 2xSaI video filter Ported from MPlayer libmpcodecs/vf_2xsai.c.

Macro Definition Documentation

§ Q_INTERPOLATE

#define Q_INTERPOLATE (   A,
  B,
  C,
 
)
Value:
((A & q_hi_pixel_mask) >> 2) + ((B & q_hi_pixel_mask) >> 2) + ((C & q_hi_pixel_mask) >> 2) + ((D & q_hi_pixel_mask) >> 2) \
+ ((((A & q_lo_pixel_mask) + (B & q_lo_pixel_mask) + (C & q_lo_pixel_mask) + (D & q_lo_pixel_mask)) >> 2) & q_lo_pixel_mask)

Variable Documentation

§ ff_vf_super2xsai

AVFilter ff_vf_super2xsai
Initial value:
= {
.name = "super2xsai",
.description = NULL_IF_CONFIG_SMALL("Scale the input by 2x using the Super2xSaI pixel art algorithm."),
.priv_size = sizeof(Super2xSaIContext),
.query_formats = query_formats,
.inputs = super2xsai_inputs,
.outputs = super2xsai_outputs,
}
Definition: vf_super2xsai.c:36
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186