FFmpeg
Loading...
Searching...
No Matches
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 416 of file rtpdec_av1.c.

◆ av1_need_keyframe()

static int av1_need_keyframe ( PayloadContext * data)
static

Definition at line 419 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 424 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,
}
static av_cold void close(AVCodecParserContext *s)
Definition apv_parser.c:197
@ AVSTREAM_PARSE_FULL
full parsing and repack
Definition avformat.h:611
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:1178
@ AV_CODEC_ID_AV1
Definition codec_id.h:275
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
static void av1_close_context(PayloadContext *data)
Definition rtpdec_av1.c:416
static int parse_av1_sdp_line(AVFormatContext *s, int st_index, PayloadContext *av1_data, const char *line)
Definition rtpdec_av1.c:424
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
static int av1_need_keyframe(PayloadContext *data)
Definition rtpdec_av1.c:419
RTP/AV1 specific private data.
Definition rdt.c:85

Definition at line 446 of file rtpdec_av1.c.