FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
rtpdec_hevc.c File Reference
#include "libavutil/avstring.h"
#include "avformat.h"
#include "rtpdec.h"

Go to the source code of this file.

Data Structures

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

Macros

#define RTP_HEVC_PAYLOAD_HEADER_SIZE   2
 
#define RTP_HEVC_FU_HEADER_SIZE   1
 
#define RTP_HEVC_DONL_FIELD_SIZE   2
 
#define HEVC_SPECIFIED_NAL_UNIT_TYPES   48
 

Functions

static av_cold PayloadContexthevc_new_context (void)
 
static av_cold void hevc_free_context (PayloadContext *data)
 
static av_cold int hevc_init (AVFormatContext *ctx, int st_index, PayloadContext *data)
 
static av_cold int hevc_sdp_parse_fmtp_config (AVFormatContext *s, AVStream *stream, PayloadContext *hevc_data, char *attr, char *value)
 
static av_cold int hevc_parse_sdp_line (AVFormatContext *ctx, int st_index, PayloadContext *hevc_data, const char *line)
 
static int hevc_handle_packet (AVFormatContext *ctx, PayloadContext *rtp_hevc_ctx, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
 

Variables

static const uint8_t start_sequence [] = { 0x00, 0x00, 0x00, 0x01 }
 
RTPDynamicProtocolHandler ff_hevc_dynamic_handler
 
RTPDynamicProtocolHandler ff_h265_dynamic_handler
 

Macro Definition Documentation

#define RTP_HEVC_PAYLOAD_HEADER_SIZE   2

Definition at line 28 of file rtpdec_hevc.c.

Referenced by hevc_handle_packet().

#define RTP_HEVC_FU_HEADER_SIZE   1

Definition at line 29 of file rtpdec_hevc.c.

Referenced by hevc_handle_packet().

#define RTP_HEVC_DONL_FIELD_SIZE   2

Definition at line 30 of file rtpdec_hevc.c.

Referenced by hevc_handle_packet().

#define HEVC_SPECIFIED_NAL_UNIT_TYPES   48

Definition at line 31 of file rtpdec_hevc.c.

Function Documentation

static av_cold PayloadContext* hevc_new_context ( void  )
static

Definition at line 41 of file rtpdec_hevc.c.

static av_cold void hevc_free_context ( PayloadContext data)
static

Definition at line 46 of file rtpdec_hevc.c.

static av_cold int hevc_init ( AVFormatContext ctx,
int  st_index,
PayloadContext data 
)
static

Definition at line 51 of file rtpdec_hevc.c.

static av_cold int hevc_sdp_parse_fmtp_config ( AVFormatContext s,
AVStream stream,
PayloadContext hevc_data,
char *  attr,
char *  value 
)
static

Definition at line 64 of file rtpdec_hevc.c.

Referenced by hevc_parse_sdp_line().

static av_cold int hevc_parse_sdp_line ( AVFormatContext ctx,
int  st_index,
PayloadContext hevc_data,
const char *  line 
)
static

Definition at line 123 of file rtpdec_hevc.c.

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

Definition at line 172 of file rtpdec_hevc.c.

Variable Documentation

const uint8_t start_sequence[] = { 0x00, 0x00, 0x00, 0x01 }
static

Definition at line 39 of file rtpdec_hevc.c.

Referenced by hevc_handle_packet().

RTPDynamicProtocolHandler ff_hevc_dynamic_handler
Initial value:
= {
.enc_name = "HEVC",
.codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_HEVC,
.init = hevc_init,
.parse_sdp_a_line = hevc_parse_sdp_line,
.alloc = hevc_new_context,
.parse_packet = hevc_handle_packet
}

Definition at line 352 of file rtpdec_hevc.c.

Referenced by ff_register_rtp_dynamic_payload_handlers().

RTPDynamicProtocolHandler ff_h265_dynamic_handler
Initial value:
= {
.enc_name = "H265",
.codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_HEVC,
.init = hevc_init,
.parse_sdp_a_line = hevc_parse_sdp_line,
.alloc = hevc_new_context,
.parse_packet = hevc_handle_packet
}

Definition at line 363 of file rtpdec_hevc.c.

Referenced by ff_register_rtp_dynamic_payload_handlers().