FFmpeg
Loading...
Searching...
No Matches
h264_levels.c File Reference
#include <inttypes.h>
#include <stddef.h>
#include "libavutil/log.h"
#include "libavutil/macros.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)
static const char *const format[]
Definition af_aiir.c:444
#define NULL
Definition coverity.c:32
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition log.h:210
uint8_t level
Definition svq3.c:208

Referenced by main().

Function Documentation

◆ main()

int main ( void )

Definition at line 180 of file h264_levels.c.

Variable Documentation

◆ width

int width

Definition at line 27 of file h264_levels.c.

◆ height

int height

Definition at line 28 of file h264_levels.c.

◆ level_idc

◆ [struct]

const struct { ... } test_sizes[]

◆ framerate

int framerate

Definition at line 69 of file h264_levels.c.

◆ [struct]

const struct { ... } test_framerate[]

Referenced by main().

◆ dpb_size

◆ [struct]

const struct { ... } 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

Definition at line 135 of file h264_levels.c.

◆ profile_idc

int profile_idc

Definition at line 136 of file h264_levels.c.

◆ [struct]

const struct { ... } 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 },
}

◆ name

const char* name

Definition at line 158 of file h264_levels.c.

◆ dpb_frames

int dpb_frames

Definition at line 163 of file h264_levels.c.

Referenced by h264_metadata_update_sps(), and main().

◆ [struct]

const struct { ... } 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().