VLC 4.0.0-dev
Loading...
Searching...
No Matches
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)

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 )
Value:
(((x) & (mask)) >> stdc_trailing_zeros(mask))

Referenced by rtp_mpv_decode().

◆ MAX_PACKET_SIZE

#define MAX_PACKET_SIZE   (1u << 18)

Referenced by rtp_mpa_decode(), and rtp_mpv_decode().

◆ 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

Referenced by rtp_mpv_decode().

◆ MPV_S_BIT

#define MPV_S_BIT   0x00002000u

Referenced by rtp_mpv_decode().

◆ MPV_TR_MASK

#define MPV_TR_MASK   0x03ff0000u

◆ MPV_TWO_BIT

#define MPV_TWO_BIT   0x04000000u

Referenced by rtp_mpv_decode().

Function Documentation

◆ rtp_mp2p_decode()

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()

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

References vlc_rtp_es_destroy().

◆ rtp_mp2p_init()

void * rtp_mp2p_init ( struct vlc_rtp_pt * pt)
static

◆ rtp_mp2t_decode()

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()

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

References vlc_rtp_es_destroy().

◆ rtp_mp2t_init()

void * rtp_mp2t_init ( struct vlc_rtp_pt * pt)
static

◆ rtp_mpa_decode()

◆ rtp_mpa_destroy()

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

◆ rtp_mpa_init()

◆ rtp_mpa_send()

◆ rtp_mpeg12_open()

◆ rtp_mpv_decode()

◆ rtp_mpv_destroy()

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

◆ rtp_mpv_init()

◆ rtp_mpv_send()

◆ 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 )

References vlc_module_end.

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:351
static void * rtp_mp2p_init(struct vlc_rtp_pt *pt)
Definition mpeg12.c:340
static void rtp_mp2p_destroy(struct vlc_rtp_pt *pt, void *data)
Definition mpeg12.c:345

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:371
static void * rtp_mp2t_init(struct vlc_rtp_pt *pt)
Definition mpeg12.c:366
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:377

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:82
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:96
static void * rtp_mpa_init(struct vlc_rtp_pt *pt)
Definition mpeg12.c:50

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:246
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:282
static void * rtp_mpv_init(struct vlc_rtp_pt *pt)
Definition mpeg12.c:214

Referenced by rtp_mpeg12_open().