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

Data Structures

struct  GF_RawVidReframeCtx
 

Macros

#define V210_HORIZ_ALIGN_PIXEL   48
 
#define OFFS(_n)   #_n, offsetof(GF_RawVidReframeCtx, _n)
 

Functions

GF_Err rawvidreframe_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static Bool rawvidreframe_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
GF_Err rawvidreframe_process (GF_Filter *filter)
 
static void rawvidreframe_finalize (GF_Filter *filter)
 
static const char * rawvidreframe_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * rfrawvid_register (GF_FilterSession *session)
 

Variables

static GF_FilterCapability RawVidReframeCaps []
 
static GF_FilterArgs RawVidReframeArgs []
 
GF_FilterRegister RawVidReframeRegister
 

Data Structure Documentation

◆ GF_RawVidReframeCtx

struct GF_RawVidReframeCtx
+ Collaboration diagram for GF_RawVidReframeCtx:
Data Fields
GF_PropVec2i size
GF_PixelFormat spfmt
GF_Fraction fps
Bool copy
GF_FilterPid * ipid
GF_FilterPid * opid
Bool file_loaded
Bool is_playing
Bool initial_play_done
Bool is_yuv4mpeg
u64 cts
u64 seek_ts
u32 frame_size
u32 nb_bytes_in_frame
u64 filepos
u64 total_frames
GF_FilterPacket * out_pck
u8 * out_data
Bool reverse_play
Bool done
Bool is_v210
u32 ilace

Macro Definition Documentation

◆ V210_HORIZ_ALIGN_PIXEL

#define V210_HORIZ_ALIGN_PIXEL   48

◆ OFFS

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

Function Documentation

◆ rawvidreframe_configure_pid()

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

◆ rawvidreframe_process_event()

static Bool rawvidreframe_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static
+ Here is the call graph for this function:

◆ rawvidreframe_process()

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

◆ rawvidreframe_finalize()

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

◆ rawvidreframe_probe_data()

static const char* rawvidreframe_probe_data ( const u8 data,
u32  size,
GF_FilterProbeScore score 
)
static
+ Here is the call graph for this function:

◆ rfrawvid_register()

const GF_FilterRegister* rfrawvid_register ( GF_FilterSession *  session)
+ Here is the call graph for this function:

Variable Documentation

◆ RawVidReframeCaps

GF_FilterCapability RawVidReframeCaps[]
static
Initial value:
=
{
{0},
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "video/x-yuv4mpeg"),
}
@ GF_CODECID_RAW
Definition: constants.h:600
@ GF_STREAM_FILE
Definition: constants.h:104
@ GF_STREAM_VISUAL
Definition: constants.h:64
#define GF_CAPS_OUTPUT
Definition: filters.h:2232
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define CAP_STRING(_f, _a, _b)
Definition: filters.h:2194
#define GF_CAPS_OUTPUT_EXCLUDED
Definition: filters.h:2236
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT
Definition: filters.h:2220
@ GF_PROP_PID_CODECID
Definition: filters.h:1116
@ GF_PROP_PID_STREAM_TYPE
Definition: filters.h:1112
@ GF_PROP_PID_UNFRAMED
Definition: filters.h:1118
@ GF_PROP_PID_FILE_EXT
Definition: filters.h:1190
@ GF_PROP_PID_MIME
Definition: filters.h:1189
@ GF_TRUE
Definition: setup.h:474

◆ RawVidReframeArgs

GF_FilterArgs RawVidReframeArgs[]
static
Initial value:
=
{
{ OFFS(size), "source video resolution", GF_PROP_VEC2I, "0x0", NULL, 0},
{ OFFS(spfmt), "source pixel format. When not set, derived from file extension", GF_PROP_PIXFMT, "none", NULL, 0},
{ OFFS(fps), "number of frames per second", GF_PROP_FRACTION, "25/1", NULL, 0},
{ OFFS(copy), "copy source bytes into output frame. If not set, source bytes are referenced only", GF_PROP_BOOL, "false", NULL, 0},
{0}
}
@ GF_PROP_BOOL
Definition: filters.h:858
@ GF_PROP_PIXFMT
Definition: filters.h:916
@ GF_PROP_VEC2I
Definition: filters.h:868
@ GF_PROP_FRACTION
Definition: filters.h:860
#define OFFS(_n)
Definition: reframe_rawvid.c:467

◆ RawVidReframeRegister

GF_FilterRegister RawVidReframeRegister
Initial value:
= {
.name = "rfrawvid",
GF_FS_SET_HELP("This filter parses raw YUV and RGB files/data and outputs corresponding raw video PID and frames.\n"
"\n"
"The filter also parses YUV4MPEG format.\n"
)
.private_size = sizeof(GF_RawVidReframeCtx),
.configure_pid = rawvidreframe_configure_pid,
.probe_data = rawvidreframe_probe_data,
.process_event = rawvidreframe_process_event,
.hint_class_type = GF_FS_CLASS_FRAMING
}
#define GF_FS_SET_HELP(_help)
Definition: filters.h:2372
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_CLASS_FRAMING
Definition: filters.h:2459
attribute Array args
Definition: jsf.idl:24
static Bool rawvidreframe_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: reframe_rawvid.c:180
static void rawvidreframe_finalize(GF_Filter *filter)
Definition: reframe_rawvid.c:434
GF_Err rawvidreframe_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: reframe_rawvid.c:59
static const char * rawvidreframe_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition: reframe_rawvid.c:440
static GF_FilterCapability RawVidReframeCaps[]
Definition: reframe_rawvid.c:450
static GF_FilterArgs RawVidReframeArgs[]
Definition: reframe_rawvid.c:468
GF_Err rawvidreframe_process(GF_Filter *filter)
Definition: reframe_rawvid.c:246
Definition: reframe_rawvid.c:33