FFmpeg
Data Structures | Functions | Variables
rtpdec_av1.c File Reference

AV1 / RTP depacketization code (RTP Payload Format For AV1 (v1.0)) More...

#include "libavutil/avstring.h"
#include "libavutil/mem.h"
#include "avformat.h"
#include "rtpdec.h"
#include "libavcodec/av1.h"
#include "rtp_av1.h"

Go to the source code of this file.

Data Structures

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

Functions

static int sdp_parse_fmtp_config_av1 (AVFormatContext *s, AVStream *stream, PayloadContext *av1_data, const char *attr, const char *value)
 
static int av1_handle_packet (AVFormatContext *ctx, PayloadContext *data, AVStream *st, AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, uint16_t seq, int flags)
 
static void av1_close_context (PayloadContext *data)
 
static int av1_need_keyframe (PayloadContext *data)
 
static int parse_av1_sdp_line (AVFormatContext *s, int st_index, PayloadContext *av1_data, const char *line)
 

Variables

const RTPDynamicProtocolHandler ff_av1_dynamic_handler
 

Detailed Description

AV1 / RTP depacketization code (RTP Payload Format For AV1 (v1.0))

Author
Chris Hodges chris.nosp@m..hod.nosp@m.ges@a.nosp@m.xis..nosp@m.com
Note
The process will restore TDs and put back size fields into headers. It will also try to keep complete OBUs and remove partial OBUs caused by packet drops and thus keep the stream syntactically intact.

Definition in file rtpdec_av1.c.

Function Documentation

◆ sdp_parse_fmtp_config_av1()

static int sdp_parse_fmtp_config_av1 ( AVFormatContext s,
AVStream stream,
PayloadContext av1_data,
const char *  attr,
const char *  value 
)
static

Definition at line 62 of file rtpdec_av1.c.

Referenced by parse_av1_sdp_line().

◆ av1_handle_packet()

static int av1_handle_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 80 of file rtpdec_av1.c.

◆ av1_close_context()

static void av1_close_context ( PayloadContext data)
static

Definition at line 421 of file rtpdec_av1.c.

◆ av1_need_keyframe()

static int av1_need_keyframe ( PayloadContext data)
static

Definition at line 424 of file rtpdec_av1.c.

◆ parse_av1_sdp_line()

static int parse_av1_sdp_line ( AVFormatContext s,
int  st_index,
PayloadContext av1_data,
const char *  line 
)
static

Definition at line 429 of file rtpdec_av1.c.

Variable Documentation

◆ ff_av1_dynamic_handler

const RTPDynamicProtocolHandler ff_av1_dynamic_handler
Initial value:
= {
.enc_name = "AV1",
.codec_type = AVMEDIA_TYPE_VIDEO,
.codec_id = AV_CODEC_ID_AV1,
.need_parsing = AVSTREAM_PARSE_FULL,
.priv_data_size = sizeof(PayloadContext),
.parse_sdp_a_line = parse_av1_sdp_line,
.need_keyframe = av1_need_keyframe,
}

Definition at line 451 of file rtpdec_av1.c.

AV_CODEC_ID_AV1
@ AV_CODEC_ID_AV1
Definition: codec_id.h:284
av1_need_keyframe
static int av1_need_keyframe(PayloadContext *data)
Definition: rtpdec_av1.c:424
parse_av1_sdp_line
static int parse_av1_sdp_line(AVFormatContext *s, int st_index, PayloadContext *av1_data, const char *line)
Definition: rtpdec_av1.c:429
av1_close_context
static void av1_close_context(PayloadContext *data)
Definition: rtpdec_av1.c:421
parse_packet
static int parse_packet(AVFormatContext *s, AVPacket *pkt, int stream_index, int flush)
Parse a packet, add all split parts to parse_queue.
Definition: demux.c:1163
AVMEDIA_TYPE_VIDEO
@ AVMEDIA_TYPE_VIDEO
Definition: avutil.h:201
AVSTREAM_PARSE_FULL
@ AVSTREAM_PARSE_FULL
full parsing and repack
Definition: avformat.h:593
av1_handle_packet
static int av1_handle_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_av1.c:80
PayloadContext
RTP/AV1 specific private data.
Definition: rdt.c:85