libgpac
Documentation of the core library of GPAC
|
#include <gpac/bitstream.h>
#include <gpac/filters.h>
#include <gpac/avparse.h>
#include <gpac/constants.h>
#include <gpac/internal/media_dev.h>
#include <math.h>
Data Structures | |
struct | HEVCTilePidCtx |
struct | HEVCGridInfo |
struct | GF_HEVCMergeCtx |
Macros | |
#define | CHECK_SPS_VAL(__name) |
#define | CHECK_PPS_VAL(__name) |
#define | OFFS(_n) #_n, offsetof(GF_HEVCMergeCtx, _n) |
Functions | |
void | hevc_rewrite_sps (char *in_SPS, u32 in_SPS_length, u32 width, u32 height, char **out_SPS, u32 *out_SPS_length) |
static void | hevcmerge_rewrite_pps (GF_HEVCMergeCtx *ctx, char *in_PPS, u32 in_PPS_length, char **out_PPS, u32 *out_PPS_length) |
u32 | hevcmerge_rewrite_slice (GF_HEVCMergeCtx *ctx, HEVCTilePidCtx *tile_pid, char *in_slice, u32 in_slice_length) |
static GF_Err | hevcmerge_rewrite_config (GF_HEVCMergeCtx *ctx, GF_FilterPid *opid, char *data, u32 size) |
static void | hevcmerge_write_nal (GF_HEVCMergeCtx *ctx, char *output_nal, char *rewritten_nal, u32 out_nal_size) |
static u32 | hevcmerge_compute_address (GF_HEVCMergeCtx *ctx, HEVCTilePidCtx *tile_pid, Bool use_y_coord) |
void | hevcmerge_build_srdmap (GF_HEVCMergeCtx *ctx, Bool use_abs_pos) |
static GF_Err | hevcmerge_rebuild_grid (GF_HEVCMergeCtx *ctx, GF_FilterPid *pid) |
static GF_Err | hevcmerge_check_sps_pps (GF_HEVCMergeCtx *ctx, HEVCTilePidCtx *pid_base, HEVCTilePidCtx *pid_o) |
static GF_Err | hevcmerge_configure_pid (GF_Filter *filter, GF_FilterPid *pid, Bool is_remove) |
static GF_Err | hevcmerge_process (GF_Filter *filter) |
static Bool | hevcmerge_process_event (GF_Filter *filter, const GF_FilterEvent *evt) |
static GF_Err | hevcmerge_initialize (GF_Filter *filter) |
static void | hevcmerge_finalize (GF_Filter *filter) |
const GF_FilterRegister * | hevcmerge_register (GF_FilterSession *session) |
Variables | |
static const GF_FilterCapability | HEVCMergeCaps [] |
static const GF_FilterArgs | HEVCMergeArgs [] |
GF_FilterRegister | HEVCMergeRegister |
struct HEVCTilePidCtx |
struct HEVCGridInfo |
struct GF_HEVCMergeCtx |
Data Fields | ||
---|---|---|
Bool | strict | |
Bool | mrows | |
GF_FilterPid * | opid | |
s32 | base_pps_init_qp_delta_minus26 | |
u32 | nb_bits_per_address_dst | |
u32 | out_width | |
u32 | out_height | |
u8 * | buffer_nal | |
u8 * | buffer_nal_no_epb | |
u8 * | buffer_nal_in_no_epb | |
u32 | buffer_nal_alloc | |
u32 | buffer_nal_no_epb_alloc | |
u32 | buffer_nal_in_no_epb_alloc | |
GF_BitStream * | bs_au_in | |
GF_BitStream * | bs_nal_in | |
GF_BitStream * | bs_nal_out | |
HEVCGridInfo * | grid | |
u32 | nb_cols | |
u8 * | sei_suffix_buf | |
u32 | sei_suffix_len | |
u32 | sei_suffix_alloc | |
u32 | hevc_nalu_size_length | |
u32 | max_CU_width | |
u32 | max_CU_height | |
GF_List * | pids | |
GF_List * | ordered_pids | |
Bool | in_error | |
Bool | enable_multi_rows | |
u32 | nb_rows | |
u32 | merge_set_id | |
Bool | is_playing | |
GF_FEVT_Play | play_evt |
#define CHECK_SPS_VAL | ( | __name | ) |
#define CHECK_PPS_VAL | ( | __name | ) |
#define OFFS | ( | _n | ) | #_n, offsetof(GF_HEVCMergeCtx, _n) |
void hevc_rewrite_sps | ( | char * | in_SPS, |
u32 | in_SPS_length, | ||
u32 | width, | ||
u32 | height, | ||
char ** | out_SPS, | ||
u32 * | out_SPS_length | ||
) |
|
static |
u32 hevcmerge_rewrite_slice | ( | GF_HEVCMergeCtx * | ctx, |
HEVCTilePidCtx * | tile_pid, | ||
char * | in_slice, | ||
u32 | in_slice_length | ||
) |
|
static |
used for storing AVC sequenceParameterSetNALUnit and pictureParameterSetNALUnit
|
static |
|
static |
void hevcmerge_build_srdmap | ( | GF_HEVCMergeCtx * | ctx, |
Bool | use_abs_pos | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
const GF_FilterRegister* hevcmerge_register | ( | GF_FilterSession * | session | ) |
|
static |
|
static |
GF_FilterRegister HEVCMergeRegister |