FFmpeg
Loading...
Searching...
No Matches
evc_parser.c File Reference
#include "avcodec.h"
#include "bytestream.h"
#include "evc.h"
#include "evc_parse.h"
#include "parser_internal.h"
#include "libavutil/attributes.h"

Go to the source code of this file.

Data Structures

struct  EVCParserContext
 

Macros

#define NUM_CHROMA_FORMATS   4
 

Functions

static int parse_nal_unit (AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 
static int parse_nal_units (AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t *buf, int buf_size)
 Parse NAL units of found picture and decode some basic information.
 
static int decode_extradata (AVCodecParserContext *s, AVCodecContext *avctx)
 
static int evc_parse (AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
 
static av_cold void evc_parser_close (AVCodecParserContext *s)
 

Variables

static enum AVPixelFormat pix_fmts_8bit [NUM_CHROMA_FORMATS]
 
static enum AVPixelFormat pix_fmts_9bit [NUM_CHROMA_FORMATS]
 
static enum AVPixelFormat pix_fmts_10bit [NUM_CHROMA_FORMATS]
 
static enum AVPixelFormat pix_fmts_12bit [NUM_CHROMA_FORMATS]
 
static enum AVPixelFormat pix_fmts_14bit [NUM_CHROMA_FORMATS]
 
static enum AVPixelFormat pix_fmts_16bit [NUM_CHROMA_FORMATS]
 
const FFCodecParser ff_evc_parser
 

Macro Definition Documentation

◆ NUM_CHROMA_FORMATS

#define NUM_CHROMA_FORMATS   4

Definition at line 38 of file evc_parser.c.

Function Documentation

◆ parse_nal_unit()

static int parse_nal_unit ( AVCodecParserContext * s,
AVCodecContext * avctx,
const uint8_t * buf,
int buf_size )
static

Definition at line 64 of file evc_parser.c.

Referenced by decode_extradata(), and parse_nal_units().

◆ parse_nal_units()

static int parse_nal_units ( AVCodecParserContext * s,
AVCodecContext * avctx,
const uint8_t * buf,
int buf_size )
static

Parse NAL units of found picture and decode some basic information.

Parameters
scodec parser context
avctxcodec context
bufbuffer with field/frame data
buf_sizesize of the buffer

Definition at line 223 of file evc_parser.c.

Referenced by evc_parse().

◆ decode_extradata()

static int decode_extradata ( AVCodecParserContext * s,
AVCodecContext * avctx )
static

Definition at line 259 of file evc_parser.c.

Referenced by evc_parse().

◆ evc_parse()

static int evc_parse ( AVCodecParserContext * s,
AVCodecContext * avctx,
const uint8_t ** poutbuf,
int * poutbuf_size,
const uint8_t * buf,
int buf_size )
static

Definition at line 336 of file evc_parser.c.

◆ evc_parser_close()

static av_cold void evc_parser_close ( AVCodecParserContext * s)
static

Definition at line 368 of file evc_parser.c.

Variable Documentation

◆ pix_fmts_8bit

enum AVPixelFormat pix_fmts_8bit[NUM_CHROMA_FORMATS]
static
Initial value:
= {
}
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
Definition pixfmt.h:73
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition pixfmt.h:77
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition pixfmt.h:81
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition pixfmt.h:78

Definition at line 40 of file evc_parser.c.

◆ pix_fmts_9bit

enum AVPixelFormat pix_fmts_9bit[NUM_CHROMA_FORMATS]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV444P9
Definition pixfmt.h:544
#define AV_PIX_FMT_GRAY9
Definition pixfmt.h:524
#define AV_PIX_FMT_YUV422P9
Definition pixfmt.h:543
#define AV_PIX_FMT_YUV420P9
Definition pixfmt.h:542

Definition at line 44 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ pix_fmts_10bit

enum AVPixelFormat pix_fmts_10bit[NUM_CHROMA_FORMATS]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV420P10
Definition pixfmt.h:545
#define AV_PIX_FMT_YUV422P10
Definition pixfmt.h:546
#define AV_PIX_FMT_GRAY10
Definition pixfmt.h:525
#define AV_PIX_FMT_YUV444P10
Definition pixfmt.h:548

Definition at line 48 of file evc_parser.c.

◆ pix_fmts_12bit

enum AVPixelFormat pix_fmts_12bit[NUM_CHROMA_FORMATS]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV444P12
Definition pixfmt.h:552
#define AV_PIX_FMT_YUV420P12
Definition pixfmt.h:549
#define AV_PIX_FMT_YUV422P12
Definition pixfmt.h:550
#define AV_PIX_FMT_GRAY12
Definition pixfmt.h:526

Definition at line 52 of file evc_parser.c.

◆ pix_fmts_14bit

enum AVPixelFormat pix_fmts_14bit[NUM_CHROMA_FORMATS]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV420P14
Definition pixfmt.h:553
#define AV_PIX_FMT_YUV422P14
Definition pixfmt.h:554
#define AV_PIX_FMT_GRAY14
Definition pixfmt.h:527
#define AV_PIX_FMT_YUV444P14
Definition pixfmt.h:555

Definition at line 56 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ pix_fmts_16bit

enum AVPixelFormat pix_fmts_16bit[NUM_CHROMA_FORMATS]
static
Initial value:
= {
}
#define AV_PIX_FMT_YUV420P16
Definition pixfmt.h:556
#define AV_PIX_FMT_YUV422P16
Definition pixfmt.h:557
#define AV_PIX_FMT_GRAY16
Definition pixfmt.h:528
#define AV_PIX_FMT_YUV444P16
Definition pixfmt.h:558

Definition at line 60 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ ff_evc_parser

const FFCodecParser ff_evc_parser
Initial value:
= {
.priv_data_size = sizeof(EVCParserContext),
}
static int parse(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
Definition apv_parser.c:92
static av_cold void close(AVCodecParserContext *s)
Definition apv_parser.c:197
static int evc_parse(AVCodecParserContext *s, AVCodecContext *avctx, const uint8_t **poutbuf, int *poutbuf_size, const uint8_t *buf, int buf_size)
Definition evc_parser.c:336
static av_cold void evc_parser_close(AVCodecParserContext *s)
Definition evc_parser.c:368
@ AV_CODEC_ID_EVC
Definition codec_id.h:316
#define PARSER_CODEC_LIST(...)

Definition at line 375 of file evc_parser.c.