FFmpeg
Loading...
Searching...
No Matches
av1_frame_split.c File Reference

This bitstream filter splits AV1 Temporal Units into packets containing just one frame, plus any leading and trailing OBUs that may be present at the beginning or end, respectively. More...

Go to the source code of this file.

Data Structures

struct  AV1FSplitContext
 

Functions

static int av1_frame_split_filter (AVBSFContext *ctx, AVPacket *out)
 
static int av1_frame_split_init (AVBSFContext *ctx)
 
static void av1_frame_split_flush (AVBSFContext *ctx)
 
static void av1_frame_split_close (AVBSFContext *ctx)
 

Variables

static const CodedBitstreamUnitType decompose_unit_types []
 
static enum AVCodecID av1_frame_split_codec_ids []
 
const FFBitStreamFilter ff_av1_frame_split_bsf
 

Detailed Description

This bitstream filter splits AV1 Temporal Units into packets containing just one frame, plus any leading and trailing OBUs that may be present at the beginning or end, respectively.

Temporal Units already containing only one frame will be passed through unchanged. When splitting can't be performed, the Temporal Unit will be passed through containing only the remaining OBUs starting from the first one after the last successfully split frame.

Definition in file av1_frame_split.c.

Function Documentation

◆ av1_frame_split_filter()

static int av1_frame_split_filter ( AVBSFContext * ctx,
AVPacket * out )
static

Definition at line 51 of file av1_frame_split.c.

◆ av1_frame_split_init()

static int av1_frame_split_init ( AVBSFContext * ctx)
static

Definition at line 203 of file av1_frame_split.c.

◆ av1_frame_split_flush()

static void av1_frame_split_flush ( AVBSFContext * ctx)
static

Definition at line 232 of file av1_frame_split.c.

◆ av1_frame_split_close()

static void av1_frame_split_close ( AVBSFContext * ctx)
static

Definition at line 240 of file av1_frame_split.c.

Variable Documentation

◆ decompose_unit_types

const CodedBitstreamUnitType decompose_unit_types[]
static
Initial value:
= {
}
@ AV1_OBU_TEMPORAL_DELIMITER
Definition av1.h:31
@ AV1_OBU_TILE_GROUP
Definition av1.h:33
@ AV1_OBU_FRAME_HEADER
Definition av1.h:32
@ AV1_OBU_FRAME
Definition av1.h:35
@ AV1_OBU_SEQUENCE_HEADER
Definition av1.h:30

Definition at line 195 of file av1_frame_split.c.

◆ av1_frame_split_codec_ids

enum AVCodecID av1_frame_split_codec_ids[]
static
Initial value:
= {
}
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_AV1
Definition codec_id.h:275

Definition at line 249 of file av1_frame_split.c.

◆ ff_av1_frame_split_bsf

const FFBitStreamFilter ff_av1_frame_split_bsf
Initial value:
= {
.p.name = "av1_frame_split",
.p.codec_ids = av1_frame_split_codec_ids,
.priv_data_size = sizeof(AV1FSplitContext),
}
static av_cold void close(AVCodecParserContext *s)
Definition apv_parser.c:197
static void av1_frame_split_close(AVBSFContext *ctx)
static enum AVCodecID av1_frame_split_codec_ids[]
static int av1_frame_split_init(AVBSFContext *ctx)
static int av1_frame_split_filter(AVBSFContext *ctx, AVPacket *out)
static void av1_frame_split_flush(AVBSFContext *ctx)
void(* flush)(AVBSFContext *ctx)
Definition dts2pts.c:610
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
void(* filter)(uint8_t *src, ptrdiff_t stride, int qscale)
Definition h263dsp.c:29

Definition at line 253 of file av1_frame_split.c.