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

Data Structures

struct  GF_ProResDmxCtx
 

Macros

#define CHECK_CFG(_name)   if (ctx->cur_cfg._name!=finfo->_name) same_cfg = GF_FALSE;
 
#define OFFS(_n)   #_n, offsetof(GF_ProResDmxCtx, _n)
 

Functions

GF_Err proresdmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static void proresdmx_check_dur (GF_Filter *filter, GF_ProResDmxCtx *ctx)
 
static Bool proresdmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
static GFINLINE void proresdmx_update_cts (GF_ProResDmxCtx *ctx)
 
static void proresdmx_check_pid (GF_Filter *filter, GF_ProResDmxCtx *ctx, GF_ProResFrameInfo *finfo)
 
GF_Err proresdmx_process_buffer (GF_Filter *filter, GF_ProResDmxCtx *ctx, const u8 *data, u32 data_size, Bool is_copy)
 
GF_Err proresdmx_process (GF_Filter *filter)
 
static void proresdmx_finalize (GF_Filter *filter)
 
static const char * proresdmx_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * rfprores_register (GF_FilterSession *session)
 

Variables

static const GF_FilterCapability ProResDmxCaps []
 
static const GF_FilterArgs ProResDmxArgs []
 
GF_FilterRegister ProResDmxRegister
 

Data Structure Documentation

◆ GF_ProResDmxCtx

struct GF_ProResDmxCtx
+ Collaboration diagram for GF_ProResDmxCtx:
Data Fields
GF_Fraction fps
Bool findex
Bool notime
char * cid
GF_FilterPid * ipid
GF_FilterPid * opid
GF_BitStream * bs
u64 cts
GF_Fraction64 duration
u64 file_size
u64 file_pos
Double start_range
Bool rewind
u32 cur_frame
u32 timescale
GF_Fraction cur_fps
u8 * buffer
u32 buf_size
u32 alloc_size
GF_ProResFrameInfo cur_cfg
Bool is_playing
Bool is_file
Bool file_loaded
Bool initial_play_done
GF_FilterPacket * src_pck
u32 nb_frames
u32 * frame_sizes
u32 bitrate
Bool copy_props

Macro Definition Documentation

◆ CHECK_CFG

#define CHECK_CFG (   _name)    if (ctx->cur_cfg._name!=finfo->_name) same_cfg = GF_FALSE;

◆ OFFS

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

Function Documentation

◆ proresdmx_configure_pid()

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

◆ proresdmx_check_dur()

static void proresdmx_check_dur ( GF_Filter *  filter,
GF_ProResDmxCtx ctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ proresdmx_process_event()

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

◆ proresdmx_update_cts()

static GFINLINE void proresdmx_update_cts ( GF_ProResDmxCtx ctx)
static
+ Here is the caller graph for this function:

◆ proresdmx_check_pid()

static void proresdmx_check_pid ( GF_Filter *  filter,
GF_ProResDmxCtx ctx,
GF_ProResFrameInfo finfo 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ proresdmx_process_buffer()

GF_Err proresdmx_process_buffer ( GF_Filter *  filter,
GF_ProResDmxCtx ctx,
const u8 data,
u32  data_size,
Bool  is_copy 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ proresdmx_process()

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

◆ proresdmx_finalize()

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

◆ proresdmx_probe_data()

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

◆ rfprores_register()

const GF_FilterRegister* rfprores_register ( GF_FilterSession *  session)

Variable Documentation

◆ ProResDmxCaps

const GF_FilterCapability ProResDmxCaps[]
static
Initial value:
=
{
{0},
}
@ GF_CODECID_APCS
Definition: constants.h:619
@ GF_CODECID_AP4X
Definition: constants.h:620
@ GF_CODECID_AP4H
Definition: constants.h:621
@ GF_CODECID_APCO
Definition: constants.h:617
@ GF_CODECID_APCN
Definition: constants.h:618
@ GF_CODECID_APCH
Definition: constants.h:616
@ GF_STREAM_FILE
Definition: constants.h:104
@ GF_STREAM_VISUAL
Definition: constants.h:64
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2172
#define CAP_STRING(_f, _a, _b)
Definition: filters.h:2194
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2180
#define GF_CAPS_INPUT
Definition: filters.h:2220
#define GF_CAPS_OUTPUT_STATIC
Definition: filters.h:2238
#define GF_CAPS_OUTPUT_STATIC_EXCLUDED
Definition: filters.h:2240
@ 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

◆ ProResDmxArgs

const GF_FilterArgs ProResDmxArgs[]
static
Initial value:
=
{
{ OFFS(fps), "import frame rate (0 default to FPS from bitstream or 25 Hz)", GF_PROP_FRACTION, "0/1000", NULL, 0},
{ OFFS(findex), "index frames. If true, filter will be able to work in rewind mode", GF_PROP_BOOL, "true", NULL, 0},
{ OFFS(cid), "set QT 4CC for the imported media. If not set, default is 'ap4h' for YUV444 and 'apch' for YUV422", GF_PROP_STRING, NULL, NULL, GF_FS_ARG_HINT_ADVANCED},
{ OFFS(notime), "ignore input timestamps, rebuild from 0", GF_PROP_BOOL, "false", NULL, GF_FS_ARG_HINT_ADVANCED},
{0}
}
@ GF_FS_ARG_HINT_ADVANCED
Definition: filters.h:2102
@ GF_PROP_BOOL
Definition: filters.h:858
@ GF_PROP_STRING
Definition: filters.h:876
@ GF_PROP_FRACTION
Definition: filters.h:860
#define OFFS(_n)
Definition: reframe_prores.c:671

◆ ProResDmxRegister

GF_FilterRegister ProResDmxRegister
Initial value:
= {
.name = "rfprores",
.private_size = sizeof(GF_ProResDmxCtx),
.finalize = proresdmx_finalize,
.configure_pid = proresdmx_configure_pid,
.process = proresdmx_process,
.probe_data = proresdmx_probe_data,
.process_event = proresdmx_process_event,
.hint_class_type = GF_FS_CLASS_FRAMING
}
#define SETCAPS(__struct)
Definition: filters.h:2364
@ GF_FS_CLASS_FRAMING
Definition: filters.h:2459
attribute Array args
Definition: jsf.idl:24
static const GF_FilterArgs ProResDmxArgs[]
Definition: reframe_prores.c:672
GF_Err proresdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: reframe_prores.c:76
static const char * proresdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition: reframe_prores.c:636
static const GF_FilterCapability ProResDmxCaps[]
Definition: reframe_prores.c:647
GF_Err proresdmx_process(GF_Filter *filter)
Definition: reframe_prores.c:511
static Bool proresdmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: reframe_prores.c:202
static void proresdmx_finalize(GF_Filter *filter)
Definition: reframe_prores.c:628
Definition: reframe_prores.c:34