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

Data Structures

struct  QCPIdx
 
struct  GF_QCPDmxCtx
 

Macros

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

Functions

GF_Err qcpdmx_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
 
static GF_Err qcpdmx_process_header (GF_Filter *filter, GF_QCPDmxCtx *ctx, char *data, u32 size, GF_BitStream *file_bs)
 
static void qcpdmx_check_dur (GF_Filter *filter, GF_QCPDmxCtx *ctx)
 
static Bool qcpdmx_process_event (GF_Filter *filter, const GF_FilterEvent *evt)
 
GF_Err qcpdmx_process (GF_Filter *filter)
 
static void qcpdmx_finalize (GF_Filter *filter)
 
static const char * qcpdmx_probe_data (const u8 *data, u32 size, GF_FilterProbeScore *score)
 
const GF_FilterRegister * rfqcp_register (GF_FilterSession *session)
 

Variables

static const char * QCP_QCELP_GUID_1 = "\x41\x6D\x7F\x5E\x15\xB1\xD0\x11\xBA\x91\x00\x80\x5F\xB4\xB9\x7E"
 
static const char * QCP_QCELP_GUID_2 = "\x42\x6D\x7F\x5E\x15\xB1\xD0\x11\xBA\x91\x00\x80\x5F\xB4\xB9\x7E"
 
static const char * QCP_EVRC_GUID = "\x8D\xD4\x89\xE6\x76\x90\xB5\x46\x91\xEF\x73\x6A\x51\x00\xCE\xB4"
 
static const char * QCP_SMV_GUID = "\x75\x2B\x7C\x8D\x97\xA7\x46\xED\x98\x5E\xD5\x3C\x8C\xC7\x5F\x84"
 
static const GF_FilterCapability QCPDmxCaps []
 
static const GF_FilterArgs QCPDmxArgs []
 
GF_FilterRegister QCPDmxRegister
 

Data Structure Documentation

◆ QCPIdx

struct QCPIdx
Data Fields
u64 pos
Double duration

◆ GF_QCPDmxCtx

struct GF_QCPDmxCtx
+ Collaboration diagram for GF_QCPDmxCtx:
Data Fields
Double index
GF_FilterPid * ipid
GF_FilterPid * opid
u32 codecid
u32 sample_rate
u32 block_size
Bool done
u64 cts
GF_Fraction64 duration
Double start_range
Bool in_seek
u32 timescale
Bool is_playing
Bool is_file
Bool initial_play_done
Bool file_loaded
u32 data_chunk_offset
u32 data_chunk_size
u32 data_chunk_remain
u32 resume_from
u32 remaining
u32 skip_bytes
u32 vrat_rate_flag
u32 pck_size
u32 rate_table_count
QCPRateTable rate_table[8]
Bool hdr_processed
char * buffer
u32 buffer_alloc
u32 buffer_size
GF_BitStream * bs
QCPIdx * indexes
u32 index_alloc_size
u32 index_size

Macro Definition Documentation

◆ OFFS

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

Function Documentation

◆ qcpdmx_configure_pid()

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

◆ qcpdmx_process_header()

static GF_Err qcpdmx_process_header ( GF_Filter *  filter,
GF_QCPDmxCtx ctx,
char *  data,
u32  size,
GF_BitStream *  file_bs 
)
static
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qcpdmx_check_dur()

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

◆ qcpdmx_process_event()

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

◆ qcpdmx_process()

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

◆ qcpdmx_finalize()

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

◆ qcpdmx_probe_data()

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

◆ rfqcp_register()

const GF_FilterRegister* rfqcp_register ( GF_FilterSession *  session)

Variable Documentation

◆ QCP_QCELP_GUID_1

const char* QCP_QCELP_GUID_1 = "\x41\x6D\x7F\x5E\x15\xB1\xD0\x11\xBA\x91\x00\x80\x5F\xB4\xB9\x7E"
static

◆ QCP_QCELP_GUID_2

const char* QCP_QCELP_GUID_2 = "\x42\x6D\x7F\x5E\x15\xB1\xD0\x11\xBA\x91\x00\x80\x5F\xB4\xB9\x7E"
static

◆ QCP_EVRC_GUID

const char* QCP_EVRC_GUID = "\x8D\xD4\x89\xE6\x76\x90\xB5\x46\x91\xEF\x73\x6A\x51\x00\xCE\xB4"
static

◆ QCP_SMV_GUID

const char* QCP_SMV_GUID = "\x75\x2B\x7C\x8D\x97\xA7\x46\xED\x98\x5E\xD5\x3C\x8C\xC7\x5F\x84"
static

◆ QCPDmxCaps

const GF_FilterCapability QCPDmxCaps[]
static
Initial value:
=
{
CAP_STRING(GF_CAPS_INPUT, GF_PROP_PID_MIME, "audio/qcelp|audio/evr-qcp|audio/smv-qcp"),
}
@ GF_CODECID_EVRC
Definition: constants.h:469
@ GF_CODECID_SMV
Definition: constants.h:471
@ GF_CODECID_QCELP
Definition: constants.h:473
@ GF_CODECID_EVRC_PV
Definition: constants.h:479
@ GF_STREAM_AUDIO
Definition: constants.h:66
@ GF_STREAM_FILE
Definition: constants.h:104
#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

◆ QCPDmxArgs

const GF_FilterArgs QCPDmxArgs[]
static
Initial value:
=
{
{ OFFS(index), "indexing window length", GF_PROP_DOUBLE, "1.0", NULL, 0},
{0}
}
@ GF_PROP_DOUBLE
Definition: filters.h:866
#define OFFS(_n)
Definition: reframe_qcp.c:725

◆ QCPDmxRegister

GF_FilterRegister QCPDmxRegister
Initial value:
= {
.name = "rfqcp",
.private_size = sizeof(GF_QCPDmxCtx),
.finalize = qcpdmx_finalize,
.configure_pid = qcpdmx_configure_pid,
.process = qcpdmx_process,
.probe_data = qcpdmx_probe_data,
.process_event = qcpdmx_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
GF_Err qcpdmx_process(GF_Filter *filter)
Definition: reframe_qcp.c:415
static const GF_FilterArgs QCPDmxArgs[]
Definition: reframe_qcp.c:726
GF_Err qcpdmx_configure_pid(GF_Filter *filter, GF_FilterPid *pid, Bool is_remove)
Definition: reframe_qcp.c:84
static Bool qcpdmx_process_event(GF_Filter *filter, const GF_FilterEvent *evt)
Definition: reframe_qcp.c:225
static const char * qcpdmx_probe_data(const u8 *data, u32 size, GF_FilterProbeScore *score)
Definition: reframe_qcp.c:681
static const GF_FilterCapability QCPDmxCaps[]
Definition: reframe_qcp.c:711
static void qcpdmx_finalize(GF_Filter *filter)
Definition: reframe_qcp.c:673
Definition: reframe_qcp.c:40