rtpdec_mpeg4.c File Reference

MPEG4 / RTP Code. More...

#include "rtpdec_formats.h"
#include "internal.h"
#include "libavutil/avstring.h"
#include "libavcodec/get_bits.h"
Include dependency graph for rtpdec_mpeg4.c:

Go to the source code of this file.

Data Structures

struct  PayloadContext
 RTP/JPEG specific private data. More...
 
struct  PayloadContext::AUHeaders
 mpeg 4 AU headers More...
 
struct  AttrNameMap
 

Macros

#define ATTR_NAME_TYPE_INT   0
 
#define ATTR_NAME_TYPE_STR   1
 

Functions

static PayloadContextnew_context (void)
 
static void free_context (PayloadContext *data)
 
static int parse_fmtp_config (AVCodecContext *codec, char *value)
 
static int rtp_parse_mp4_au (PayloadContext *data, const uint8_t *buf, int len)
 
static int aac_parse_packet (AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
 
static int parse_fmtp (AVStream *stream, PayloadContext *data, char *attr, char *value)
 
static int parse_sdp_line (AVFormatContext *s, int st_index, PayloadContext *data, const char *line)
 
static int init_video (AVFormatContext *s, int st_index, PayloadContext *data)
 

Variables

static const AttrNameMap attr_names []
 
RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler
 
RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler
 

Detailed Description

MPEG4 / RTP Code.

Author
Fabrice Bellard
Romain Degez

Definition in file rtpdec_mpeg4.c.

Macro Definition Documentation

#define ATTR_NAME_TYPE_INT   0

Definition at line 72 of file rtpdec_mpeg4.c.

Referenced by parse_fmtp().

#define ATTR_NAME_TYPE_STR   1

Definition at line 73 of file rtpdec_mpeg4.c.

Referenced by parse_fmtp().

Function Documentation

static int aac_parse_packet ( AVFormatContext ctx,
PayloadContext data,
AVStream st,
AVPacket pkt,
uint32_t *  timestamp,
const uint8_t buf,
int  len,
uint16_t  seq,
int  flags 
)
static

Definition at line 165 of file rtpdec_mpeg4.c.

static void free_context ( PayloadContext data)
static

Definition at line 95 of file rtpdec_mpeg4.c.

static int init_video ( AVFormatContext s,
int  st_index,
PayloadContext data 
)
static

Definition at line 255 of file rtpdec_mpeg4.c.

static PayloadContext* new_context ( void  )
static

Definition at line 90 of file rtpdec_mpeg4.c.

static int parse_fmtp ( AVStream stream,
PayloadContext data,
char *  attr,
char *  value 
)
static

Definition at line 212 of file rtpdec_mpeg4.c.

Referenced by parse_sdp_line().

static int parse_fmtp_config ( AVCodecContext codec,
char *  value 
)
static

Definition at line 102 of file rtpdec_mpeg4.c.

Referenced by parse_fmtp().

static int parse_sdp_line ( AVFormatContext s,
int  st_index,
PayloadContext data,
const char *  line 
)
static

Definition at line 241 of file rtpdec_mpeg4.c.

static int rtp_parse_mp4_au ( PayloadContext data,
const uint8_t buf,
int  len 
)
static

Definition at line 115 of file rtpdec_mpeg4.c.

Referenced by aac_parse_packet().

Variable Documentation

const AttrNameMap attr_names[]
static
Initial value:
= {
{ "SizeLength", ATTR_NAME_TYPE_INT,
offsetof(PayloadContext, sizelength) },
{ "IndexLength", ATTR_NAME_TYPE_INT,
offsetof(PayloadContext, indexlength) },
{ "IndexDeltaLength", ATTR_NAME_TYPE_INT,
offsetof(PayloadContext, indexdeltalength) },
{ "profile-level-id", ATTR_NAME_TYPE_INT,
offsetof(PayloadContext, profile_level_id) },
{ "StreamType", ATTR_NAME_TYPE_INT,
offsetof(PayloadContext, streamtype) },
{ "mode", ATTR_NAME_TYPE_STR,
offsetof(PayloadContext, mode) },
{ NULL, -1, -1 },
}
RTP/JPEG specific private data.
Definition: rdt.c:83
mode
Definition: f_perms.c:27
#define ATTR_NAME_TYPE_INT
Definition: rtpdec_mpeg4.c:72
NULL
Definition: eval.c:55
#define ATTR_NAME_TYPE_STR
Definition: rtpdec_mpeg4.c:73

Definition at line 74 of file rtpdec_mpeg4.c.

RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler
Initial value:
= {
.enc_name = "MP4V-ES",
.codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_MPEG4,
.init = init_video,
.parse_sdp_a_line = parse_sdp_line,
}
static int init_video(AVFormatContext *s, int st_index, PayloadContext *data)
Definition: rtpdec_mpeg4.c:255
static int parse_sdp_line(AVFormatContext *s, int st_index, PayloadContext *data, const char *line)
Definition: rtpdec_mpeg4.c:241

Definition at line 263 of file rtpdec_mpeg4.c.

Referenced by av_register_rtp_dynamic_payload_handlers().

RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler
Initial value:
= {
.enc_name = "mpeg4-generic",
.codec_type = AVMEDIA_TYPE_AUDIO,
.codec_id = AV_CODEC_ID_AAC,
.parse_sdp_a_line = parse_sdp_line,
.alloc = new_context,
.free = free_context,
.parse_packet = aac_parse_packet
}
static void free_context(PayloadContext *data)
Definition: rtpdec_mpeg4.c:95
static int aac_parse_packet(AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
Definition: rtpdec_mpeg4.c:165
static int parse_sdp_line(AVFormatContext *s, int st_index, PayloadContext *data, const char *line)
Definition: rtpdec_mpeg4.c:241
static PayloadContext * new_context(void)
Definition: rtpdec_mpeg4.c:90

Definition at line 271 of file rtpdec_mpeg4.c.

Referenced by av_register_rtp_dynamic_payload_handlers().