FFmpeg
Loading...
Searching...
No Matches
h265_levels.c File Reference

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   dpb_size 
 
   int   level_idc 
 
test_dpb [] 
 
static const H265RawProfileTierLevel profile_main
 
static const H265RawProfileTierLevel profile_main_12
 
static const H265RawProfileTierLevel profile_main_422_12_intra
 
static const H265RawProfileTierLevel profile_ht_444_14
 
static const H265RawProfileTierLevel profile_main_high_tier
 
struct { 
 
   int64_t   bitrate 
 
   const H265RawProfileTierLevel *   ptl 
 
   int   level_idc 
 
test_bitrate [] 
 
struct { 
 
   int   slice_segments 
 
   int   tile_rows 
 
   int   tile_cols 
 
   int   level_idc 
 
test_fragments [] 
 

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 242 of file h265_levels.c.

Variable Documentation

◆ width

int width

Definition at line 23 of file h265_levels.c.

◆ height

int height

Definition at line 24 of file h265_levels.c.

◆ level_idc

int level_idc

Definition at line 25 of file h265_levels.c.

◆ [struct]

const struct { ... } test_sizes[]

◆ dpb_size

int dpb_size

Definition at line 70 of file h265_levels.c.

◆ [struct]

const struct { ... } test_dpb[]
Initial value:
= {
{ 176, 144, 8, 30 },
{ 176, 144, 9, 60 },
{ 352, 288, 6, 60 },
{ 352, 288, 7, 63 },
{ 352, 288, 13, 90 },
{ 1280, 720, 6, 93 },
{ 1280, 720, 12, 120 },
{ 1280, 720, 16, 150 },
{ 3840, 2160, 6, 150 },
{ 3840, 2160, 7, 180 },
{ 3840, 2160, 16, 180 },
}

◆ profile_main

const H265RawProfileTierLevel profile_main
static
Initial value:
= {
.general_profile_space = 0,
.general_profile_idc = 1,
.general_tier_flag = 0,
.general_profile_compatibility_flag[1] = 1,
}

Definition at line 101 of file h265_levels.c.

◆ profile_main_12

const H265RawProfileTierLevel profile_main_12
static
Initial value:
= {
.general_profile_space = 0,
.general_profile_idc = 4,
.general_tier_flag = 0,
.general_profile_compatibility_flag[4] = 1,
.general_max_12bit_constraint_flag = 1,
.general_max_10bit_constraint_flag = 0,
.general_max_8bit_constraint_flag = 0,
.general_max_422chroma_constraint_flag = 1,
.general_max_420chroma_constraint_flag = 1,
.general_max_monochrome_constraint_flag = 0,
.general_intra_constraint_flag = 0,
.general_one_picture_only_constraint_flag = 0,
.general_lower_bit_rate_constraint_flag = 1,
}

Definition at line 109 of file h265_levels.c.

◆ profile_main_422_12_intra

const H265RawProfileTierLevel profile_main_422_12_intra
static
Initial value:
= {
.general_profile_space = 0,
.general_profile_idc = 4,
.general_tier_flag = 0,
.general_profile_compatibility_flag[4] = 1,
.general_max_12bit_constraint_flag = 1,
.general_max_10bit_constraint_flag = 0,
.general_max_8bit_constraint_flag = 0,
.general_max_422chroma_constraint_flag = 1,
.general_max_420chroma_constraint_flag = 0,
.general_max_monochrome_constraint_flag = 0,
.general_intra_constraint_flag = 1,
.general_one_picture_only_constraint_flag = 0,
}

Definition at line 126 of file h265_levels.c.

◆ profile_ht_444_14

const H265RawProfileTierLevel profile_ht_444_14
static
Initial value:
= {
.general_profile_space = 0,
.general_profile_idc = 5,
.general_tier_flag = 0,
.general_profile_compatibility_flag[5] = 1,
.general_max_14bit_constraint_flag = 1,
.general_max_12bit_constraint_flag = 0,
.general_max_10bit_constraint_flag = 0,
.general_max_8bit_constraint_flag = 0,
.general_max_422chroma_constraint_flag = 0,
.general_max_420chroma_constraint_flag = 0,
.general_max_monochrome_constraint_flag = 0,
.general_intra_constraint_flag = 0,
.general_one_picture_only_constraint_flag = 0,
.general_lower_bit_rate_constraint_flag = 1,
}

Definition at line 142 of file h265_levels.c.

◆ profile_main_high_tier

const H265RawProfileTierLevel profile_main_high_tier
static
Initial value:
= {
.general_profile_space = 0,
.general_profile_idc = 1,
.general_tier_flag = 1,
.general_profile_compatibility_flag[1] = 1,
}

Definition at line 160 of file h265_levels.c.

◆ bitrate

int64_t bitrate

Definition at line 169 of file h265_levels.c.

◆ ptl

◆ [struct]

const struct { ... } test_bitrate[]

◆ slice_segments

int slice_segments

Definition at line 216 of file h265_levels.c.

Referenced by ff_h265_guess_level(), and main().

◆ tile_rows

◆ tile_cols

int tile_cols

Definition at line 218 of file h265_levels.c.

◆ [struct]

const struct { ... } test_fragments[]
Initial value:
= {
{ 4, 1, 1, 30 },
{ 32, 1, 1, 93 },
{ 70, 1, 1, 120 },
{ 80, 1, 1, 150 },
{ 201, 1, 1, 180 },
{ 600, 1, 1, 180 },
{ 601, 1, 1, 0 },
{ 1, 2, 1, 90 },
{ 1, 1, 2, 90 },
{ 1, 3, 3, 93 },
{ 1, 4, 2, 120 },
{ 1, 2, 4, 120 },
{ 1, 11, 10, 150 },
{ 1, 10, 11, 180 },
{ 1, 22, 20, 180 },
{ 1, 20, 22, 0 },
}

Referenced by main().