FFmpeg
Macros | Functions | Variables
h264_levels.c File Reference
#include "libavutil/common.h"
#include "libavcodec/h264_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
 
   int   level_idc
 
test_sizes []
 
struct {
   int   width
 
   int   height
 
   int   framerate
 
   int   level_idc
 
test_framerate []
 
struct {
   int   width
 
   int   height
 
   int   dpb_size
 
   int   level_idc
 
test_dpb []
 
struct {
   int64_t   bitrate
 
   int   profile_idc
 
   int   level_idc
 
test_bitrate []
 
struct {
   const char *   name
 
   int   profile_idc
 
   int64_t   bitrate
 
   int   width
 
   int   height
 
   int   dpb_frames
 
   int   level_idc
 
test_all []
 

Macro Definition Documentation

◆ CHECK

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

Function Documentation

◆ main()

int main ( void  )

Definition at line 176 of file h264_levels.c.

Variable Documentation

◆ width

int width

Definition at line 23 of file h264_levels.c.

Referenced by ff_h264_guess_level(), and main().

◆ height

int height

Definition at line 24 of file h264_levels.c.

Referenced by ff_h264_guess_level(), and main().

◆ level_idc

int level_idc

◆ test_sizes

const { ... } test_sizes[]

Referenced by main().

◆ framerate

int framerate

◆ test_framerate

const { ... } test_framerate[]

Referenced by main().

◆ dpb_size

int dpb_size

◆ test_dpb

const { ... } test_dpb[]
Initial value:
= {
{ 176, 144, 4, 10 },
{ 176, 144, 8, 11 },
{ 176, 144, 16, 12 },
{ 1280, 720, 1, 31 },
{ 1280, 720, 5, 31 },
{ 1280, 720, 9, 40 },
{ 1280, 720, 10, 50 },
{ 1920, 1080, 1, 40 },
{ 1920, 1080, 5, 50 },
{ 1920, 1080, 13, 50 },
{ 1920, 1080, 14, 51 },
{ 3840, 2160, 5, 51 },
{ 3840, 2160, 6, 60 },
{ 3840, 2160, 16, 60 },
{ 7680, 4320, 5, 60 },
{ 7680, 4320, 6, 0 },
}

Referenced by main().

◆ bitrate

int64_t bitrate

◆ profile_idc

int profile_idc

Definition at line 132 of file h264_levels.c.

◆ test_bitrate

const { ... } test_bitrate[]
Initial value:
= {
{ 2500000, 77, 21 },
{ 2500000, 100, 20 },
{ 2500000, 244, 13 },
{ 100000000, 77, 50 },
{ 100000000, 100, 50 },
{ 100000000, 244, 41 },
{ 999999999, 77, 0 },
{ 999999999, 100, 62 },
{ 32 * 1200, 66, 10 },
{ 32 * 1500, 100, 10 },
{ 96 * 1200, 66, 11 },
{ 96 * 1500, 100, 9 },
{ 144 * 1200, 66, 11 },
{ 144 * 1500, 100, 11 },
}

Referenced by main().

◆ name

const char* name

Definition at line 154 of file h264_levels.c.

Referenced by main().

◆ dpb_frames

int dpb_frames

◆ test_all

const { ... } test_all[]
Initial value:
= {
{ "Bluray 1080p 40Mb/s", 100, 40000000, 1920, 1080, 4, 41 },
{ "Bluray 1080p 24Mb/s", 100, 24000000, 1920, 1080, 4, 40 },
{ "Bluray 720p 40Mb/s", 100, 40000000, 1280, 720, 6, 41 },
{ "Bluray 720p 24Mb/s", 100, 24000000, 1280, 720, 6, 40 },
{ "Bluray PAL 40Mb/s", 100, 40000000, 720, 576, 6, 41 },
{ "Bluray PAL 24Mb/s", 100, 24000000, 720, 576, 6, 32 },
{ "Bluray PAL 16Mb/s", 100, 16800000, 720, 576, 6, 31 },
{ "Bluray PAL 12Mb/s", 100, 12000000, 720, 576, 5, 30 },
{ "Bluray NTSC 40Mb/s", 100, 40000000, 720, 480, 6, 41 },
{ "Bluray NTSC 24Mb/s", 100, 24000000, 720, 480, 6, 32 },
{ "Bluray NTSC 16Mb/s", 100, 16800000, 720, 480, 6, 31 },
{ "Bluray NTSC 12Mb/s", 100, 12000000, 720, 480, 6, 30 },
}

Referenced by main().

level
uint8_t level
Definition: svq3.c:206
AV_LOG_ERROR
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:180
format
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
NULL
#define NULL
Definition: coverity.c:32