libgpac
Documentation of the core library of GPAC
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Modules
bsrw.c File Reference
#include <gpac/filters.h>
#include <gpac/constants.h>
#include <gpac/internal/media_dev.h>
#include <gpac/mpeg4_odf.h>
+ Include dependency graph for bsrw.c:

Data Structures

struct  BSRWPid
 
struct  GF_BSRWCtx
 

Macros

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

Functions

 GF_OPT_ENUM (BsrwTimecodeMode, BSRW_TC_NONE=0, BSRW_TC_REMOVE, BSRW_TC_INSERT, BSRW_TC_SHIFT, BSRW_TC_CONSTANT)
 
static GF_Err none_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck)
 
static GF_Err m4v_rewrite_pid_config (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static Bool bsrw_manipulate_tc (GF_FilterPacket *pck, GF_BSRWCtx *ctx, BSRWPid *pctx, GF_TimeCode *tc_in, GF_TimeCode *tc_out)
 
static GF_Err nalu_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck, u32 codec_type)
 
static GF_Err avc_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck)
 
static GF_Err hevc_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck)
 
static GF_Err vvc_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck)
 
static GF_Err av1_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck)
 
static void update_props (BSRWPid *pctx, GF_VUIInfo *vui)
 
static GF_Err avc_rewrite_pid_config (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static GF_Err hevc_rewrite_pid_config (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static GF_Err vvc_rewrite_pid_config (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static GF_Err none_rewrite_pid_config (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static GF_Err rewrite_pid_config (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static void init_vui (GF_BSRWCtx *ctx, BSRWPid *pctx)
 
static GF_Err prores_rewrite_packet (GF_BSRWCtx *ctx, BSRWPid *pctx, GF_FilterPacket *pck)
 
static GF_Err bsrw_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static GF_Err bsrw_process (GF_Filter *filter)
 
static GF_Err bsrw_update_arg (GF_Filter *filter, const char *arg_name, const GF_PropertyValue *new_val)
 
static GF_Err bsrw_parse_date (const char *date_in, GF_TimeCode *tc_out)
 
static GF_Err bsrw_initialize (GF_Filter *filter)
 
static void bsrw_finalize (GF_Filter *filter)
 
const GF_FilterRegister * bsrw_register (GF_FilterSession *session)
 

Variables

static GF_FilterArgs BSRWArgs []
 
static const GF_FilterCapability BSRWCaps []
 
GF_FilterRegister BSRWRegister
 

Data Structure Documentation

◆ _bsrw_ctx

struct _bsrw_ctx
+ Collaboration diagram for GF_BSRWCtx:
Data Fields
GF_Fraction sar
s32 m4vpl
s32 prof
s32 lev
s32 pcomp
s32 pidc
s32 pspace
s32 gpcflags
s32 cprim
s32 ctfc
s32 cmx
s32 vidfmt
Bool rmsei
Bool fullrange
Bool novsi
Bool novuitiming
GF_PropUIntList seis
GF_List * pids
Bool reconfigure
Bool tcsc_inferred
Bool tcdf
char * tcxs
char * tcxe
char * tcsc
GF_TimeCode tcxs_val
GF_TimeCode tcxe_val
GF_TimeCode tcsc_val
BsrwTimecodeMode tc

Macro Definition Documentation

◆ OFFS

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

Function Documentation

◆ GF_OPT_ENUM()

GF_OPT_ENUM ( BsrwTimecodeMode  ,
BSRW_TC_NONE  = 0,
BSRW_TC_REMOVE  ,
BSRW_TC_INSERT  ,
BSRW_TC_SHIFT  ,
BSRW_TC_CONSTANT   
)

◆ none_rewrite_packet()

static GF_Err none_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ m4v_rewrite_pid_config()

static GF_Err m4v_rewrite_pid_config ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bsrw_manipulate_tc()

static Bool bsrw_manipulate_tc ( GF_FilterPacket *  pck,
GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_TimeCode tc_in,
GF_TimeCode tc_out 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ nalu_rewrite_packet()

static GF_Err nalu_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck,
u32  codec_type 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avc_rewrite_packet()

static GF_Err avc_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hevc_rewrite_packet()

static GF_Err hevc_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vvc_rewrite_packet()

static GF_Err vvc_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ av1_rewrite_packet()

static GF_Err av1_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update_props()

static void update_props ( BSRWPid *  pctx,
GF_VUIInfo vui 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ avc_rewrite_pid_config()

static GF_Err avc_rewrite_pid_config ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hevc_rewrite_pid_config()

static GF_Err hevc_rewrite_pid_config ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ vvc_rewrite_pid_config()

static GF_Err vvc_rewrite_pid_config ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ none_rewrite_pid_config()

static GF_Err none_rewrite_pid_config ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the caller graph for this function:

◆ rewrite_pid_config()

static GF_Err rewrite_pid_config ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the caller graph for this function:

◆ init_vui()

static void init_vui ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx 
)
static
+ Here is the caller graph for this function:

◆ prores_rewrite_packet()

static GF_Err prores_rewrite_packet ( GF_BSRWCtx *  ctx,
BSRWPid *  pctx,
GF_FilterPacket *  pck 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bsrw_configure_pid()

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

◆ bsrw_process()

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

◆ bsrw_update_arg()

static GF_Err bsrw_update_arg ( GF_Filter *  filter,
const char *  arg_name,
const GF_PropertyValue *  new_val 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ bsrw_parse_date()

static GF_Err bsrw_parse_date ( const char *  date_in,
GF_TimeCode tc_out 
)
static
+ Here is the caller graph for this function:

◆ bsrw_initialize()

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

◆ bsrw_finalize()

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

◆ bsrw_register()

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

Variable Documentation

◆ BSRWArgs

GF_FilterArgs BSRWArgs[]
static

◆ BSRWCaps

const GF_FilterCapability BSRWCaps[]
static
Initial value:
=
{
}
@ GF_CODECID_NONE
Definition: constants.h:383
@ GF_STREAM_FILE
Definition: constants.h:104
#define CAP_UINT(_f, _a, _b)
Definition: filters.h:2176
#define GF_CAPS_INPUT_EXCLUDED
Definition: filters.h:2232
#define GF_CAPS_OUTPUT_EXCLUDED
Definition: filters.h:2240
#define CAP_BOOL(_f, _a, _b)
Definition: filters.h:2184
@ 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_TRUE
Definition: setup.h:474

◆ BSRWRegister

GF_FilterRegister BSRWRegister