VLC 4.0.0-dev
mpeg12.c File Reference

Real-Time Protocol MPEG 1/2 payload format parser. More...

Include dependency graph for mpeg12.c:

Data Structures

struct  rtp_mpa
 
struct  rtp_mpv
 

Macros

#define MAX_PACKET_SIZE   (1u << 18)
 
#define MPV_TWO_BIT   0x04000000u
 
#define MPV_TR_MASK   0x03ff0000u
 
#define MPV_AN_BIT   0x00008000u
 
#define MPV_N_BIT   0x00004000u
 
#define MPV_S_BIT   0x00002000u
 
#define MPV_BS_BIT   0x00001000u
 
#define MPV_ES_BIT   0x00000800u
 
#define MPV_PT_MASK   0x00000700u
 
#define MPV_FBV_BIT   0x00000080u
 
#define MPV_FBC_MASK   0x00000070u
 
#define MPV_FFV_BIT   0x00000008u
 
#define MPV_FFC_MASK   0x00000007u
 
#define EXTRACT(x, mask)   (((x) & (mask)) >> vlc_ctz(mask))
 

Functions

static void * rtp_mpa_init (struct vlc_rtp_pt *pt)
 
static void rtp_mpa_send (struct rtp_mpa *sys)
 
static void rtp_mpa_destroy (struct vlc_rtp_pt *pt, void *data)
 
static void rtp_mpa_decode (struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
 
static void * rtp_mpv_init (struct vlc_rtp_pt *pt)
 
static void rtp_mpv_send (struct rtp_mpv *sys)
 
static void rtp_mpv_destroy (struct vlc_rtp_pt *pt, void *data)
 
static void rtp_mpv_decode (struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
 
static void * rtp_mp2p_init (struct vlc_rtp_pt *pt)
 
static void rtp_mp2p_destroy (struct vlc_rtp_pt *pt, void *data)
 
static void rtp_mp2p_decode (struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
 
static void * rtp_mp2t_init (struct vlc_rtp_pt *pt)
 
static void rtp_mp2t_destroy (struct vlc_rtp_pt *pt, void *data)
 
static void rtp_mp2t_decode (struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
 
static int rtp_mpeg12_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 struct vlc_rtp_pt_operations rtp_mpa_ops
 
static const unsigned short pic_types [8]
 
static const struct vlc_rtp_pt_operations rtp_mpv_ops
 
static const struct vlc_rtp_pt_operations rtp_mp2p_ops
 
static const struct vlc_rtp_pt_operations rtp_mp2t_ops
 

Detailed Description

Real-Time Protocol MPEG 1/2 payload format parser.

Macro Definition Documentation

◆ EXTRACT

#define EXTRACT (   x,
  mask 
)    (((x) & (mask)) >> vlc_ctz(mask))

◆ MAX_PACKET_SIZE

#define MAX_PACKET_SIZE   (1u << 18)

◆ MPV_AN_BIT

#define MPV_AN_BIT   0x00008000u

◆ MPV_BS_BIT

#define MPV_BS_BIT   0x00001000u

◆ MPV_ES_BIT

#define MPV_ES_BIT   0x00000800u

◆ MPV_FBC_MASK

#define MPV_FBC_MASK   0x00000070u

◆ MPV_FBV_BIT

#define MPV_FBV_BIT   0x00000080u

◆ MPV_FFC_MASK

#define MPV_FFC_MASK   0x00000007u

◆ MPV_FFV_BIT

#define MPV_FFV_BIT   0x00000008u

◆ MPV_N_BIT

#define MPV_N_BIT   0x00004000u

◆ MPV_PT_MASK

#define MPV_PT_MASK   0x00000700u

◆ MPV_S_BIT

#define MPV_S_BIT   0x00002000u

◆ MPV_TR_MASK

#define MPV_TR_MASK   0x03ff0000u

◆ MPV_TWO_BIT

#define MPV_TWO_BIT   0x04000000u

Function Documentation

◆ rtp_mp2p_decode()

static void rtp_mp2p_decode ( struct vlc_rtp_pt pt,
void *  data,
block_t block,
const struct vlc_rtp_pktinfo *restrict  info 
)
static

◆ rtp_mp2p_destroy()

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

References vlc_rtp_es_destroy().

◆ rtp_mp2p_init()

static void * rtp_mp2p_init ( struct vlc_rtp_pt pt)
static

◆ rtp_mp2t_decode()

static void rtp_mp2t_decode ( struct vlc_rtp_pt pt,
void *  data,
block_t block,
const struct vlc_rtp_pktinfo *restrict  info 
)
static

◆ rtp_mp2t_destroy()

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

References vlc_rtp_es_destroy().

◆ rtp_mp2t_init()

static void * rtp_mp2t_init ( struct vlc_rtp_pt pt)
static

◆ rtp_mpa_decode()

◆ rtp_mpa_destroy()

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

◆ rtp_mpa_init()

◆ rtp_mpa_send()

static void rtp_mpa_send ( struct rtp_mpa sys)
static

◆ rtp_mpeg12_open()

static int rtp_mpeg12_open ( vlc_object_t obj,
struct vlc_rtp_pt pt,
const struct vlc_sdp_pt desc 
)
static

◆ rtp_mpv_decode()

◆ rtp_mpv_destroy()

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

◆ rtp_mpv_init()

◆ rtp_mpv_send()

static void rtp_mpv_send ( struct rtp_mpv sys)
static

◆ 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

◆ pic_types

const unsigned short pic_types[8]
static
Initial value:
= {
0x0400 , 0x0002 ,
0x0004 , 0x0008 ,
0x0002 , 0, 0, 0
}

Referenced by rtp_mpv_decode().

◆ rtp_mp2p_ops

const struct vlc_rtp_pt_operations rtp_mp2p_ops
static
Initial value:
= {
}
static void rtp_mp2p_decode(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Definition: mpeg12.c:350
static void * rtp_mp2p_init(struct vlc_rtp_pt *pt)
Definition: mpeg12.c:339
static void rtp_mp2p_destroy(struct vlc_rtp_pt *pt, void *data)
Definition: mpeg12.c:344

Referenced by rtp_mpeg12_open().

◆ rtp_mp2t_ops

const struct vlc_rtp_pt_operations rtp_mp2t_ops
static
Initial value:
= {
}
static void rtp_mp2t_destroy(struct vlc_rtp_pt *pt, void *data)
Definition: mpeg12.c:370
static void * rtp_mp2t_init(struct vlc_rtp_pt *pt)
Definition: mpeg12.c:365
static void rtp_mp2t_decode(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Definition: mpeg12.c:376

Referenced by rtp_mpeg12_open().

◆ rtp_mpa_ops

const struct vlc_rtp_pt_operations rtp_mpa_ops
static
Initial value:
= {
}
static void rtp_mpa_destroy(struct vlc_rtp_pt *pt, void *data)
Definition: mpeg12.c:81
static void rtp_mpa_decode(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Definition: mpeg12.c:95
static void * rtp_mpa_init(struct vlc_rtp_pt *pt)
Definition: mpeg12.c:49

Referenced by rtp_mpeg12_open().

◆ rtp_mpv_ops

const struct vlc_rtp_pt_operations rtp_mpv_ops
static
Initial value:
= {
}
static void rtp_mpv_destroy(struct vlc_rtp_pt *pt, void *data)
Definition: mpeg12.c:245
static void rtp_mpv_decode(struct vlc_rtp_pt *pt, void *data, block_t *block, const struct vlc_rtp_pktinfo *restrict info)
Definition: mpeg12.c:281
static void * rtp_mpv_init(struct vlc_rtp_pt *pt)
Definition: mpeg12.c:213

Referenced by rtp_mpeg12_open().