libgpac
Documentation of the core library of GPAC
vflip.c File Reference
#include <gpac/filters.h>
#include <gpac/list.h>
#include <gpac/constants.h>
#include <gpac/network.h>
+ Include dependency graph for vflip.c:

Data Structures

struct  GF_VFlipCtx
 

Macros

#define OFFS(_n)   #_n, offsetof(GF_VFlipCtx, _n)
 

Enumerations

enum  { VFLIP_OFF = 0 , VFLIP_VERT , VFLIP_HORIZ , VFLIP_BOTH }
 

Functions

static void swap_2Ys_YUVpixel (GF_VFlipCtx *ctx, u8 *line_src, u8 *line_dst, u32 FourBytes_start_index)
 
static void horizontal_flip_per_line (GF_VFlipCtx *ctx, u8 *line_src, u8 *line_dst, u32 plane_idx, u32 wiB)
 
static void horizontal_flip (GF_VFlipCtx *ctx, u8 *src_plane, u8 *dst_plane, u32 height, u32 plane_idx, u32 wiB, u32 *src_stride)
 
static void vertical_flip (GF_VFlipCtx *ctx, u8 *src_plane, u8 *dst_plane, u32 height, u32 plane_idx, u32 wiB)
 
static GF_Err vflip_process (GF_Filter *filter)
 
static GF_Err vflip_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
void vflip_finalize (GF_Filter *filter)
 
const GF_FilterRegister * vflip_register (GF_FilterSession *session)
 

Variables

static GF_FilterArgs VFlipArgs []
 
static const GF_FilterCapability VFlipCaps []
 
GF_FilterRegister VFlipRegister
 

Data Structure Documentation

◆ GF_VFlipCtx

struct GF_VFlipCtx
+ Collaboration diagram for GF_VFlipCtx:
Data Fields
u32 mode
Bool initialized
GF_FilterPid * ipid
GF_FilterPid * opid
u32 w
u32 h
u32 stride
u32 s_pfmt
u32 bps
GF_Fraction ar
Bool passthrough
u32 dst_width
u32 dst_height
u32 dst_stride[5]
u32 src_stride[5]
u32 nb_planes
u32 nb_src_planes
u32 out_size
u32 out_src_size
u32 src_uv_height
u32 dst_uv_height
Bool use_reference
Bool packed_422
char * line_buffer_vf
char * line_buffer_hf

Macro Definition Documentation

◆ OFFS

#define OFFS (   _n)    #_n, offsetof(GF_VFlipCtx, _n)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
VFLIP_OFF 
VFLIP_VERT 
VFLIP_HORIZ 
VFLIP_BOTH 

Function Documentation

◆ swap_2Ys_YUVpixel()

static void swap_2Ys_YUVpixel ( GF_VFlipCtx ctx,
u8 line_src,
u8 line_dst,
u32  FourBytes_start_index 
)
static
+ Here is the caller graph for this function:

◆ horizontal_flip_per_line()

static void horizontal_flip_per_line ( GF_VFlipCtx ctx,
u8 line_src,
u8 line_dst,
u32  plane_idx,
u32  wiB 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ horizontal_flip()

static void horizontal_flip ( GF_VFlipCtx ctx,
u8 src_plane,
u8 dst_plane,
u32  height,
u32  plane_idx,
u32  wiB,
u32 src_stride 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vertical_flip()

static void vertical_flip ( GF_VFlipCtx ctx,
u8 src_plane,
u8 dst_plane,
u32  height,
u32  plane_idx,
u32  wiB 
)
static
+ Here is the caller graph for this function:

◆ vflip_process()

static GF_Err vflip_process ( GF_Filter *  filter)
static
+ Here is the call graph for this function:

◆ vflip_configure_pid()

static GF_Err vflip_configure_pid ( GF_Filter *  filter,
GF_FilterPid *  pid,
Bool  is_remove 
)
static
+ Here is the call graph for this function:

◆ vflip_finalize()

void vflip_finalize ( GF_Filter *  filter)
+ Here is the call graph for this function:

◆ vflip_register()

const GF_FilterRegister* vflip_register ( GF_FilterSession *  session)

Variable Documentation

◆ VFlipArgs

GF_FilterArgs VFlipArgs[]
static
Initial value:
=
{
{ OFFS(mode), "flip mode\n"
"- off: no flipping (passthrough)\n"
"- vert: vertical flip\n"
"- horiz: horizontal flip\n"
"- both: horizontal and vertical flip"
"", GF_PROP_UINT, "vert", "off|vert|horiz|both", GF_FS_ARG_UPDATE | GF_FS_ARG_HINT_ADVANCED},
{0}
}
@ GF_FS_ARG_UPDATE
Definition: filters.h:2108
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_UINT
Definition: filters.h:852
#define OFFS(_n)
Definition: vflip.c:473

◆ VFlipCaps

const GF_FilterCapability VFlipCaps[]
static
Initial value:
=
{
}
@ GF_STREAM_VISUAL
Definition: constants.h:64
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define GF_CAPS_INPUT_OUTPUT
Definition: filters.h:2242
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112

◆ VFlipRegister

GF_FilterRegister VFlipRegister
Initial value:
= {
.name = "vflip",
.private_size = sizeof(GF_VFlipCtx),
.configure_pid = vflip_configure_pid,
.process = vflip_process,
.finalize = vflip_finalize,
.hint_class_type = GF_FS_CLASS_AV
}
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_REG_ALLOW_CYCLIC
Definition: filters.h:2400
@ GF_FS_REG_EXPLICIT_ONLY
Definition: filters.h:2393
@ GF_FS_CLASS_AV
Definition: filters.h:2453
attribute Array args
Definition: jsf.idl:24
static GF_Err vflip_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: vflip.c:346
static GF_Err vflip_process(GF_Filter *filter)
Definition: vflip.c:212
void vflip_finalize(GF_Filter *filter)
Definition: vflip.c:465
static const GF_FilterCapability VFlipCaps[]
Definition: vflip.c:485
static GF_FilterArgs VFlipArgs[]
Definition: vflip.c:474
Definition: vflip.c:33