56 for (i = 0; i < 4; i ++) {
57 int vsub = i == 1 || i == 2 ? flip->
vsub : 0;
74 for (i = 0; i < 4; i ++) {
75 int vsub = i == 1 || i == 2 ? flip->
vsub : 0;
109 .
inputs = avfilter_vf_vflip_inputs,
110 .
outputs = avfilter_vf_vflip_outputs,
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
This structure describes decoded (raw) audio or video data.
Main libavfilter public API header.
int h
agreed upon image height
AVFrame * ff_get_video_buffer(AVFilterLink *link, int w, int h)
Request a picture buffer with a specific set of permissions.
const char * name
Pad name.
int ff_filter_frame(AVFilterLink *link, AVFrame *frame)
Send a frame of data to the next filter.
static const AVFilterPad avfilter_vf_vflip_inputs[]
static int filter_frame(AVFilterLink *link, AVFrame *frame)
A filter pad used for either input or output.
A link between two filters.
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height.
static void flip(AVCodecContext *avctx, AVFrame *frame)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
void * priv
private data for use by the filter
common internal API header
static const AVFilterPad outputs[]
static int config_input(AVFilterLink *link)
int format
agreed upon media format
static const AVFilterPad inputs[]
int linesize[AV_NUM_DATA_POINTERS]
For video, size in bytes of each picture line.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
const char * name
Filter name.
AVFilterLink ** outputs
array of pointers to output links
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
AVFilterContext * dst
dest filter
static const AVFilterPad avfilter_vf_vflip_outputs[]
static AVFrame * get_video_buffer(AVFilterLink *link, int w, int h)
int vsub
vertical chroma subsampling
#define AV_CEIL_RSHIFT(a, b)