libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
reframe_rawvid.c File Reference
#include <gpac/avparse.h>
#include <gpac/constants.h>
#include <gpac/filters.h>

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 * rawvidreframe_register (GF_FilterSession *session)
 

Variables

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

Data Structure Documentation

◆ GF_RawVidReframeCtx

struct 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 
)

◆ rawvidreframe_process_event()

static Bool rawvidreframe_process_event ( GF_Filter *  filter,
const GF_FilterEvent *  evt 
)
static

◆ rawvidreframe_process()

GF_Err rawvidreframe_process ( GF_Filter *  filter)

◆ rawvidreframe_finalize()

static void rawvidreframe_finalize ( GF_Filter *  filter)
static

◆ rawvidreframe_probe_data()

static const char * rawvidreframe_probe_data ( const u8 data,
u32  size,
GF_FilterProbeScore score 
)
static

◆ rawvidreframe_register()

const GF_FilterRegister * rawvidreframe_register ( GF_FilterSession *  session)

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:577
@ GF_STREAM_FILE
Definition constants.h:104
@ GF_STREAM_VISUAL
Definition constants.h:64
#define GF_CAPS_OUTPUT
Definition filters.h:2013
#define CAP_UINT(_f, _a, _b)
Definition filters.h:1955
#define CAP_STRING(_f, _a, _b)
Definition filters.h:1977
#define GF_CAPS_OUTPUT_EXCLUDED
Definition filters.h:2017
#define CAP_BOOL(_f, _a, _b)
Definition filters.h:1963
#define GF_CAPS_INPUT
Definition filters.h:2001
@ GF_PROP_PID_CODECID
Definition filters.h:1020
@ GF_PROP_PID_STREAM_TYPE
Definition filters.h:1016
@ GF_PROP_PID_UNFRAMED
Definition filters.h:1022
@ GF_PROP_PID_FILE_EXT
Definition filters.h:1092
@ GF_PROP_PID_MIME
Definition filters.h:1091
@ GF_TRUE
Definition setup.h:435

◆ 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:767
@ GF_PROP_PIXFMT
Definition filters.h:825
@ GF_PROP_VEC2I
Definition filters.h:777
@ GF_PROP_FRACTION
Definition filters.h:769
#define OFFS(_n)
Definition reframe_rawvid.c:465

◆ 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
}
#define GF_FS_SET_HELP(_help)
Definition filters.h:2152
#define SETCAPS(__struct)
Definition filters.h:2144
attribute Array args
Definition jsf.idl:24
static Bool rawvidreframe_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition reframe_rawvid.c:178
static const char * rawvidreframe_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition reframe_rawvid.c:438
static void rawvidreframe_finalize(GF_Filter *filter)
Definition reframe_rawvid.c:432
GF_Err rawvidreframe_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition reframe_rawvid.c:57
static GF_FilterCapability RawVidReframeCaps[]
Definition reframe_rawvid.c:448
static GF_FilterArgs RawVidReframeArgs[]
Definition reframe_rawvid.c:466
GF_Err rawvidreframe_process(GF_Filter *filter)
Definition reframe_rawvid.c:244
Definition reframe_rawvid.c:31