FFmpeg
Data Structures | Macros | Functions
parser_internal.h File Reference
#include <stdint.h>
#include "libavutil/macros.h"
#include "avcodec.h"
#include "codec_id.h"

Go to the source code of this file.

Data Structures

union  FFCodecParser
 

Macros

#define EIGTH_ARG(a, b, c, d, e, f, g, h, ...)   h
 
#define NO_FAIL
 
#define CHECK_FOR_TOO_MANY_IDS(...)   AV_JOIN(EIGTH_ARG(__VA_ARGS__, NO, NO, NO, NO, NO, NO, NO, NO), _FAIL)
 
#define FF_MSVC_EXPAND(...)   __VA_ARGS__
 
#define FIRST_SEVEN2(a, b, c, d, e, f, g, ...)   a,b,c,d,e,f,g
 
#define FIRST_SEVEN(...)   FF_MSVC_EXPAND(FIRST_SEVEN2(__VA_ARGS__))
 
#define TIMES_SEVEN(a)   a,a,a,a,a,a,a
 
#define PARSER_CODEC_LIST(...)
 

Functions

static const FFCodecParserffcodecparser (const AVCodecParser *parser)
 

Macro Definition Documentation

◆ EIGTH_ARG

#define EIGTH_ARG (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  h,
  ... 
)    h

Definition at line 64 of file parser_internal.h.

◆ NO_FAIL

#define NO_FAIL

Definition at line 65 of file parser_internal.h.

◆ CHECK_FOR_TOO_MANY_IDS

#define CHECK_FOR_TOO_MANY_IDS (   ...)    AV_JOIN(EIGTH_ARG(__VA_ARGS__, NO, NO, NO, NO, NO, NO, NO, NO), _FAIL)

Definition at line 67 of file parser_internal.h.

◆ FF_MSVC_EXPAND

#define FF_MSVC_EXPAND (   ...)    __VA_ARGS__

Definition at line 70 of file parser_internal.h.

◆ FIRST_SEVEN2

#define FIRST_SEVEN2 (   a,
  b,
  c,
  d,
  e,
  f,
  g,
  ... 
)    a,b,c,d,e,f,g

Definition at line 71 of file parser_internal.h.

◆ FIRST_SEVEN

#define FIRST_SEVEN (   ...)    FF_MSVC_EXPAND(FIRST_SEVEN2(__VA_ARGS__))

Definition at line 72 of file parser_internal.h.

◆ TIMES_SEVEN

#define TIMES_SEVEN (   a)    a,a,a,a,a,a,a

Definition at line 73 of file parser_internal.h.

◆ PARSER_CODEC_LIST

#define PARSER_CODEC_LIST (   ...)
Value:
CHECK_FOR_TOO_MANY_IDS(__VA_ARGS__) \
.codec_ids = { FIRST_SEVEN(__VA_ARGS__, TIMES_SEVEN(AV_CODEC_ID_NONE)) }

Definition at line 76 of file parser_internal.h.

Function Documentation

◆ ffcodecparser()

static const FFCodecParser* ffcodecparser ( const AVCodecParser parser)
inlinestatic

Definition at line 59 of file parser_internal.h.

Referenced by av_parser_close(), av_parser_init(), and av_parser_parse2().

FIRST_SEVEN
#define FIRST_SEVEN(...)
Definition: parser_internal.h:72
CHECK_FOR_TOO_MANY_IDS
#define CHECK_FOR_TOO_MANY_IDS(...)
Definition: parser_internal.h:67
AV_CODEC_ID_NONE
@ AV_CODEC_ID_NONE
Definition: codec_id.h:50
TIMES_SEVEN
#define TIMES_SEVEN(a)
Definition: parser_internal.h:73