VLC  4.0.0-dev
h264.c File Reference
Include dependency graph for h264.c:

Data Structures

struct  rtp_h26x_sys
 

Functions

static void rtp_h26x_clear (struct rtp_h26x_sys *sys)
 
static void rtp_h26x_init (struct rtp_h26x_sys *sys)
 
static block_th26x_wrap_prefix (block_t *block, bool b_annexb)
 
static void h26x_extractbase64xps (const char *psz64, const char *pszend, void(*pf_output)(void *, uint8_t *, size_t), void *outputsys)
 
static void h264_add_xps (void *priv, uint8_t *xps, size_t xpssz)
 
static block_th264_fillextradata (const char *psz)
 
static void * rtp_h264_init (struct vlc_rtp_pt *pt)
 
static void rtp_h264_destroy (struct vlc_rtp_pt *pt, void *data)
 
static block_th264_deaggregate_STAP (block_t *block, bool b_annexb)
 
static block_th264_chainsplit_MTAP (block_t *block, bool b_24ext, bool b_annexb)
 
static void h26x_output (struct rtp_h26x_sys *sys, block_t *block, vlc_tick_t pts, bool pcr, bool au_end)
 
static void h26x_output_blocks (struct rtp_h26x_sys *sys, bool b_annexb)
 
static void rtp_h264_decode (struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
 
static void rtp_h264_release (struct vlc_rtp_pt *pt)
 
static int rtp_h264_open (vlc_object_t *obj, struct vlc_rtp_pt *pt, const struct vlc_sdp_pt *desc)
 
int vlc_entry__MODULE_NAME (vlc_set_cb vlc_set, void *opaque)
 
const char * vlc_entry_api_version__MODULE_NAME (void)
 

Variables

static const uint8_t annexbheader [] = { 0, 0, 0, 1 }
 
static const struct vlc_rtp_pt_operations rtp_h264_ops
 

Function Documentation

◆ h264_add_xps()

static void h264_add_xps ( void *  priv,
uint8_t *  xps,
size_t  xpssz 
)
static

References block_heap_Alloc, and h26x_wrap_prefix().

Referenced by h264_fillextradata().

◆ h264_chainsplit_MTAP()

static block_t* h264_chainsplit_MTAP ( block_t block,
bool  b_24ext,
bool  b_annexb 
)
static

◆ h264_deaggregate_STAP()

static block_t* h264_deaggregate_STAP ( block_t block,
bool  b_annexb 
)
static

◆ h264_fillextradata()

static block_t* h264_fillextradata ( const char *  psz)
static

◆ h26x_extractbase64xps()

static void h26x_extractbase64xps ( const char *  psz64,
const char *  pszend,
void(*)(void *, uint8_t *, size_t)  pf_output,
void *  outputsys 
)
static

References vlc_b64_decode_binary().

Referenced by h264_fillextradata().

◆ h26x_output()

static void h26x_output ( struct rtp_h26x_sys sys,
block_t block,
vlc_tick_t  pts,
bool  pcr,
bool  au_end 
)
static

◆ h26x_output_blocks()

static void h26x_output_blocks ( struct rtp_h26x_sys sys,
bool  b_annexb 
)
static

◆ h26x_wrap_prefix()

static block_t* h26x_wrap_prefix ( block_t block,
bool  b_annexb 
)
static

◆ rtp_h264_decode()

◆ rtp_h264_destroy()

static void rtp_h264_destroy ( struct vlc_rtp_pt pt,
void *  data 
)
static

◆ rtp_h264_init()

◆ rtp_h264_open()

◆ rtp_h264_release()

static void rtp_h264_release ( struct vlc_rtp_pt pt)
static

◆ rtp_h26x_clear()

static void rtp_h26x_clear ( struct rtp_h26x_sys sys)
static

◆ rtp_h26x_init()

◆ vlc_entry__MODULE_NAME()

int vlc_entry__MODULE_NAME ( vlc_set_cb  vlc_set,
void *  opaque 
)

◆ vlc_entry_api_version__MODULE_NAME()

const char* vlc_entry_api_version__MODULE_NAME ( void  )

Variable Documentation

◆ annexbheader

const uint8_t annexbheader[] = { 0, 0, 0, 1 }
static

◆ rtp_h264_ops

const struct vlc_rtp_pt_operations rtp_h264_ops
static
Initial value:
= {
}
static void * rtp_h264_init(struct vlc_rtp_pt *pt)
Definition: h264.c:114
static void rtp_h264_release(struct vlc_rtp_pt *pt)
Definition: h264.c:355
static void rtp_h264_decode(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Definition: h264.c:264
static void rtp_h264_destroy(struct vlc_rtp_pt *pt, void *data)
Definition: h264.c:133

Referenced by rtp_h264_open().