FFmpeg
Classes | Macros | Functions | Variables
rtpdec_h264.c File Reference

H.264 / RTP Code (RFC3984) More...

#include "libavutil/attributes.h"
#include "libavutil/base64.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/avstring.h"
#include "avformat.h"
#include "rtpdec.h"
#include "rtpdec_formats.h"

Classes

struct  PayloadContext
 RTP/JPEG specific private data. More...
 

Macros

#define COUNT_NAL_TYPE(data, nal)   do { } while (0)
 
#define NAL_COUNTERS   NULL
 
#define NAL_MASK   0x1f
 

Functions

int ff_h264_parse_sprop_parameter_sets (AVFormatContext *s, uint8_t **data_ptr, int *size_ptr, const char *value)
 
void ff_h264_parse_framesize (AVCodecParameters *par, const char *p)
 
int ff_h264_handle_aggregated_packet (AVFormatContext *ctx, PayloadContext *data, AVPacket *pkt, const uint8_t *buf, int len, int skip_between, int *nal_counters, int nal_mask)
 
int ff_h264_handle_frag_packet (AVPacket *pkt, const uint8_t *buf, int len, int start_bit, const uint8_t *nal_header, int nal_header_len)
 

Variables

const RTPDynamicProtocolHandler ff_h264_dynamic_handler
 

Detailed Description

H.264 / RTP Code (RFC3984)

Author
Ryan Martell rdm4@.nosp@m.mart.nosp@m.ellve.nosp@m.ntur.nosp@m.es.co.nosp@m.m
Note
Notes: Notes: This currently supports packetization mode: Single Nal Unit Mode (0), or Non-Interleaved Mode (1). It currently does not support Interleaved Mode (2). (This requires implementing STAP-B, MTAP16, MTAP24, FU-B packet types)

Variable Documentation

§ ff_h264_dynamic_handler

const RTPDynamicProtocolHandler ff_h264_dynamic_handler
Initial value:
= {
.enc_name = "H264",
.codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_H264,
.need_parsing = AVSTREAM_PARSE_FULL,
.priv_data_size = sizeof(PayloadContext),
.parse_sdp_a_line = parse_h264_sdp_line,
.close = h264_close_context,
.parse_packet = h264_handle_packet,
}
RTP/JPEG specific private data.
Definition: rdt.c:83
full parsing and repack
Definition: avformat.h:793