FFmpeg
Macros | Functions | Variables
h265_levels.c File Reference
#include "libavutil/common.h"
#include "libavcodec/h265_profile_level.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   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)

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.

Referenced by main().

◆ height

int height

Definition at line 24 of file h265_levels.c.

Referenced by main().

◆ level_idc

int level_idc

Definition at line 25 of file h265_levels.c.

Referenced by main().

◆ test_sizes

const { ... } test_sizes[]

Referenced by main().

◆ dpb_size

int dpb_size

Definition at line 70 of file h265_levels.c.

Referenced by main().

◆ test_dpb

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

Referenced by main().

◆ 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.

Referenced by main().

◆ 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.

Referenced by main().

◆ ptl

◆ test_bitrate

const { ... } test_bitrate[]

Referenced by main().

◆ slice_segments

int slice_segments

Definition at line 216 of file h265_levels.c.

Referenced by ff_h265_guess_level(), and main().

◆ tile_rows

int tile_rows

Definition at line 217 of file h265_levels.c.

Referenced by ff_h265_guess_level(), h265_metadata_guess_level(), and main().

◆ tile_cols

int tile_cols

Definition at line 218 of file h265_levels.c.

Referenced by ff_h265_guess_level(), h265_metadata_guess_level(), and main().

◆ test_fragments

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

level
uint8_t level
Definition: svq3.c:204
AV_LOG_ERROR
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Definition: log.h:194
NULL
#define NULL
Definition: coverity.c:32
format
fg outputs[0] format
Definition: ffmpeg_filter.c:177