FFmpeg
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Macros | Functions | Variables
av1_levels.c File Reference
#include <stddef.h>
#include <inttypes.h>
#include "libavutil/log.h"
#include "libavcodec/av1_levels.h"

Go to the source code of this file.

Macros

#define CHECK(expected, format, ...)
 

Functions

int main (void)
 

Variables

struct {
   int   width
 
   int   height
 
   float   framerate
 
   int   level_idx
 
test_sizes []
 
struct {
   int64_t   bitrate
 
   int   tier
 
   int   level_idx
 
test_bitrate []
 
struct {
   int   tiles
 
   int   tile_cols
 
   int   level_idx
 
test_tiles []
 

Macro Definition Documentation

◆ CHECK

#define CHECK (   expected,
  format,
  ... 
)
Value:
do { \
if (level ? (level->level_idx != expected) \
: !level) { \
av_log(NULL, AV_LOG_ERROR, "Incorrect level for " \
format ": expected %d, got %d.\n", __VA_ARGS__, \
expected, level ? level->level_idx : -1); \
return 1; \
} \
} while (0)

Function Documentation

◆ main()

int main ( void  )

Definition at line 83 of file av1_levels.c.

Variable Documentation

◆ width

int width

Definition at line 27 of file av1_levels.c.

Referenced by ff_av1_guess_level(), and main().

◆ height

int height

Definition at line 28 of file av1_levels.c.

Referenced by ff_av1_guess_level(), and main().

◆ framerate

float framerate

◆ level_idx

int level_idx

Definition at line 30 of file av1_levels.c.

Referenced by main().

◆ test_sizes

const { ... } test_sizes[]
Initial value:
= {
{ 426, 240, 30.0, 0 },
{ 640, 360, 30.0, 1 },
{ 854, 480, 30.0, 4 },
{ 1280, 720, 30.0, 5 },
{ 1920, 1080, 30.0, 8 },
{ 1920, 1080, 60.0, 9 },
{ 3840, 2160, 30.0, 12 },
{ 3840, 2160, 60.0, 13 },
{ 3840, 2160, 120.0, 14 },
{ 7680, 4320, 30.0, 16 },
{ 7680, 4320, 60.0, 17 },
{ 7680, 4320, 120.0, 18 },
}

Referenced by main().

◆ bitrate

int64_t bitrate

◆ tier

int tier

Definition at line 48 of file av1_levels.c.

Referenced by ff_av1_guess_level(), main(), and write_codec_attr().

◆ test_bitrate

const { ... } test_bitrate[]
Initial value:
= {
{ 1500000, 0, 0 },
{ 3000000, 0, 1 },
{ 6000000, 0, 4 },
{ 10000000, 0, 5 },
{ 12000000, 0, 8 },
{ 30000000, 1, 8 },
{ 20000000, 0, 9 },
{ 50000000, 1, 9 },
{ 30000000, 0, 12 },
{ 100000000, 1, 12 },
{ 40000000, 0, 13 },
{ 160000000, 1, 13 },
{ 60000000, 0, 14 },
{ 240000000, 1, 14 },
{ 100000000, 0, 17 },
{ 480000000, 1, 17 },
{ 160000000, 0, 18 },
{ 800000000, 1, 18 },
}

Referenced by main().

◆ tiles

int tiles

Definition at line 72 of file av1_levels.c.

Referenced by ff_av1_guess_level(), ff_ivi_init_tiles(), and main().

◆ tile_cols

int tile_cols

◆ test_tiles

const { ... } test_tiles[]
Initial value:
= {
{ 8, 4, 0 },
{ 16, 6, 4 },
{ 32, 8, 8 },
{ 64, 8, 12 },
{ 128, 16, 16 },
}

Referenced by main().

level
uint8_t level
Definition: svq3.c:205
AV_LOG_ERROR
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:210
NULL
#define NULL
Definition: coverity.c:32
format
New swscale design to change SwsGraph is what coordinates multiple passes These can include cascaded scaling error diffusion and so on Or we could have separate passes for the vertical and horizontal scaling In between each SwsPass lies a fully allocated image buffer Graph passes may have different levels of e g we can have a single threaded error diffusion pass following a multi threaded scaling pass SwsGraph is internally recreated whenever the image format
Definition: swscale-v2.txt:14