FFmpeg
Functions | Variables
h264_levels.c File Reference
#include <stddef.h>
#include "libavutil/macros.h"
#include "h264_levels.h"

Go to the source code of this file.

Functions

static int h264_get_br_factor (int profile_idc)
 
const H264LevelDescriptorff_h264_guess_level (int profile_idc, int64_t bitrate, int framerate, int width, int height, int max_dec_frame_buffering)
 Guess the level of a stream from some parameters. More...
 

Variables

static const H264LevelDescriptor h264_levels []
 
struct {
   int   profile_idc
 
   int   cpb_br_vcl_factor
 
   int   cpb_br_nal_factor
 
h264_br_factors []
 

Function Documentation

◆ h264_get_br_factor()

static int h264_get_br_factor ( int  profile_idc)
static

Definition at line 68 of file h264_levels.c.

Referenced by ff_h264_guess_level().

◆ ff_h264_guess_level()

const H264LevelDescriptor* ff_h264_guess_level ( int  profile_idc,
int64_t  bitrate,
int  framerate,
int  width,
int  height,
int  max_dec_frame_buffering 
)

Guess the level of a stream from some parameters.

Unknown parameters may be zero, in which case they are ignored.

Definition at line 79 of file h264_levels.c.

Referenced by h264_metadata_update_sps(), main(), and vaapi_encode_h264_init_sequence_params().

Variable Documentation

◆ h264_levels

const H264LevelDescriptor h264_levels[]
static
Initial value:
= {
{ "1", 10, 0, 1485, 99, 396, 64, 175, 64, 2, 0 },
{ "1b", 11, 1, 1485, 99, 396, 128, 350, 64, 2, 0 },
{ "1b", 9, 0, 1485, 99, 396, 128, 350, 64, 2, 0 },
{ "1.1", 11, 0, 3000, 396, 900, 192, 500, 128, 2, 0 },
{ "1.2", 12, 0, 6000, 396, 2376, 384, 1000, 128, 2, 0 },
{ "1.3", 13, 0, 11880, 396, 2376, 768, 2000, 128, 2, 0 },
{ "2", 20, 0, 11880, 396, 2376, 2000, 2000, 128, 2, 0 },
{ "2.1", 21, 0, 19800, 792, 4752, 4000, 4000, 256, 2, 0 },
{ "2.2", 22, 0, 20250, 1620, 8100, 4000, 4000, 256, 2, 0 },
{ "3", 30, 0, 40500, 1620, 8100, 10000, 10000, 256, 2, 32 },
{ "3.1", 31, 0, 108000, 3600, 18000, 14000, 14000, 512, 4, 16 },
{ "3.2", 32, 0, 216000, 5120, 20480, 20000, 20000, 512, 4, 16 },
{ "4", 40, 0, 245760, 8192, 32768, 20000, 25000, 512, 4, 16 },
{ "4.1", 41, 0, 245760, 8192, 32768, 50000, 62500, 512, 2, 16 },
{ "4.2", 42, 0, 522240, 8704, 34816, 50000, 62500, 512, 2, 16 },
{ "5", 50, 0, 589824, 22080, 110400, 135000, 135000, 512, 2, 16 },
{ "5.1", 51, 0, 983040, 36864, 184320, 240000, 240000, 512, 2, 16 },
{ "5.2", 52, 0, 2073600, 36864, 184320, 240000, 240000, 512, 2, 16 },
{ "6", 60, 0, 4177920, 139264, 696320, 240000, 240000, 8192, 2, 16 },
{ "6.1", 61, 0, 8355840, 139264, 696320, 480000, 480000, 8192, 2, 16 },
{ "6.2", 62, 0, 16711680, 139264, 696320, 800000, 800000, 8192, 2, 16 },
}

Definition at line 24 of file h264_levels.c.

Referenced by ff_h264_guess_level().

◆ profile_idc

int profile_idc

◆ cpb_br_vcl_factor

int cpb_br_vcl_factor

Definition at line 54 of file h264_levels.c.

◆ cpb_br_nal_factor

int cpb_br_nal_factor

Definition at line 55 of file h264_levels.c.

◆ h264_br_factors

const { ... } h264_br_factors[]
Initial value:
= {
{ 66, 1000, 1200 },
{ 77, 1000, 1200 },
{ 88, 1000, 1200 },
{ 100, 1250, 1500 },
{ 110, 3000, 3600 },
{ 122, 4000, 4800 },
{ 244, 4000, 4800 },
{ 44, 4000, 4800 },
}

Referenced by h264_get_br_factor().