FFmpeg
Data Structures | Macros | Functions | Variables
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. More...
 
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:

Definition at line 40 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ pix_fmts_9bit

enum AVPixelFormat pix_fmts_9bit[NUM_CHROMA_FORMATS]
static
Initial value:

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:

Definition at line 48 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ pix_fmts_12bit

enum AVPixelFormat pix_fmts_12bit[NUM_CHROMA_FORMATS]
static
Initial value:

Definition at line 52 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ pix_fmts_14bit

enum AVPixelFormat pix_fmts_14bit[NUM_CHROMA_FORMATS]
static
Initial value:

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:

Definition at line 60 of file evc_parser.c.

Referenced by parse_nal_unit().

◆ ff_evc_parser

const FFCodecParser ff_evc_parser
Initial value:

Definition at line 375 of file evc_parser.c.

AV_PIX_FMT_YUV420P10
#define AV_PIX_FMT_YUV420P10
Definition: pixfmt.h:552
AV_PIX_FMT_GRAY9
#define AV_PIX_FMT_GRAY9
Definition: pixfmt.h:531
close
static av_cold void close(AVCodecParserContext *s)
Definition: apv_parser.c:136
AV_PIX_FMT_YUV422P9
#define AV_PIX_FMT_YUV422P9
Definition: pixfmt.h:550
AV_PIX_FMT_GRAY16
#define AV_PIX_FMT_GRAY16
Definition: pixfmt.h:535
evc_parser_close
static av_cold void evc_parser_close(AVCodecParserContext *s)
Definition: evc_parser.c:368
AV_PIX_FMT_YUV444P10
#define AV_PIX_FMT_YUV444P10
Definition: pixfmt.h:555
AV_PIX_FMT_YUV422P16
#define AV_PIX_FMT_YUV422P16
Definition: pixfmt.h:564
AV_CODEC_ID_EVC
@ AV_CODEC_ID_EVC
Definition: codec_id.h:325
AV_PIX_FMT_YUV444P16
#define AV_PIX_FMT_YUV444P16
Definition: pixfmt.h:565
AV_PIX_FMT_YUV420P9
#define AV_PIX_FMT_YUV420P9
Definition: pixfmt.h:549
AV_PIX_FMT_YUV420P16
#define AV_PIX_FMT_YUV420P16
Definition: pixfmt.h:563
AV_PIX_FMT_GRAY14
#define AV_PIX_FMT_GRAY14
Definition: pixfmt.h:534
evc_parse
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
AV_PIX_FMT_YUV420P
@ 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_GRAY10
#define AV_PIX_FMT_GRAY10
Definition: pixfmt.h:532
AV_PIX_FMT_YUV422P10
#define AV_PIX_FMT_YUV422P10
Definition: pixfmt.h:553
AV_PIX_FMT_GRAY8
@ AV_PIX_FMT_GRAY8
Y , 8bpp.
Definition: pixfmt.h:81
parse
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:46
AV_PIX_FMT_YUV422P12
#define AV_PIX_FMT_YUV422P12
Definition: pixfmt.h:557
AV_PIX_FMT_YUV444P12
#define AV_PIX_FMT_YUV444P12
Definition: pixfmt.h:559
PARSER_CODEC_LIST
#define PARSER_CODEC_LIST(...)
Definition: parser_internal.h:76
AV_PIX_FMT_YUV444P9
#define AV_PIX_FMT_YUV444P9
Definition: pixfmt.h:551
AV_PIX_FMT_YUV420P12
#define AV_PIX_FMT_YUV420P12
Definition: pixfmt.h:556
AV_PIX_FMT_YUV422P14
#define AV_PIX_FMT_YUV422P14
Definition: pixfmt.h:561
AV_PIX_FMT_YUV444P
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
Definition: pixfmt.h:78
AV_PIX_FMT_YUV422P
@ AV_PIX_FMT_YUV422P
planar YUV 4:2:2, 16bpp, (1 Cr & Cb sample per 2x1 Y samples)
Definition: pixfmt.h:77
EVCParserContext
Definition: evc_parser.c:31
AV_PIX_FMT_YUV444P14
#define AV_PIX_FMT_YUV444P14
Definition: pixfmt.h:562
AV_PIX_FMT_GRAY12
#define AV_PIX_FMT_GRAY12
Definition: pixfmt.h:533
AV_PIX_FMT_YUV420P14
#define AV_PIX_FMT_YUV420P14
Definition: pixfmt.h:560