FFmpeg
libavcodec
av1_levels.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2023 Intel Corporation
3
*
4
* This file is part of FFmpeg.
5
*
6
* FFmpeg is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* FFmpeg is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with FFmpeg; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*/
20
21
#ifndef AVCODEC_AV1_LEVELS_H
22
#define AVCODEC_AV1_LEVELS_H
23
24
#include <stdint.h>
25
26
typedef
struct
AV1LevelDescriptor
{
27
char
name
[4];
28
uint8_t
level_idx
;
29
30
uint32_t
max_pic_size
;
31
uint32_t
max_h_size
;
32
uint32_t
max_v_size
;
33
uint64_t
max_display_rate
;
34
uint64_t
max_decode_rate
;
35
36
uint32_t
max_header_rate
;
37
float
main_mbps
;
38
float
high_mbps
;
39
uint32_t
main_cr
;
40
uint32_t
high_cr
;
41
uint32_t
max_tiles
;
42
uint32_t
max_tile_cols
;
43
}
AV1LevelDescriptor
;
44
45
/**
46
* Guess the level of a stream from some parameters.
47
*
48
* Unknown parameters may be zero, in which case they will be ignored.
49
*/
50
const
AV1LevelDescriptor
*
ff_av1_guess_level
(
int64_t
bitrate
,
51
int
tier
,
52
int
width
,
53
int
height
,
54
int
tile_rows
,
55
int
tile_cols
,
56
float
fps);
57
58
#endif
/* AVCODEC_AV1_LEVELS_H */
AV1LevelDescriptor::max_tiles
uint32_t max_tiles
Definition:
av1_levels.h:41
int64_t
long long int64_t
Definition:
coverity.c:34
AV1LevelDescriptor::main_cr
uint32_t main_cr
Definition:
av1_levels.h:39
AV1LevelDescriptor::max_pic_size
uint32_t max_pic_size
Definition:
av1_levels.h:30
AV1LevelDescriptor::max_display_rate
uint64_t max_display_rate
Definition:
av1_levels.h:33
AV1LevelDescriptor::max_tile_cols
uint32_t max_tile_cols
Definition:
av1_levels.h:42
AV1LevelDescriptor::max_decode_rate
uint64_t max_decode_rate
Definition:
av1_levels.h:34
bitrate
int64_t bitrate
Definition:
av1_levels.c:47
tile_rows
int tile_rows
Definition:
h265_levels.c:217
tile_cols
int tile_cols
Definition:
av1_levels.c:73
tier
int tier
Definition:
av1_levels.c:48
AV1LevelDescriptor::high_mbps
float high_mbps
Definition:
av1_levels.h:38
AV1LevelDescriptor::name
char name[4]
Definition:
av1_levels.h:27
AV1LevelDescriptor::high_cr
uint32_t high_cr
Definition:
av1_levels.h:40
height
#define height
Definition:
dsp.h:85
AV1LevelDescriptor
Definition:
av1_levels.h:26
AV1LevelDescriptor::max_h_size
uint32_t max_h_size
Definition:
av1_levels.h:31
AV1LevelDescriptor::main_mbps
float main_mbps
Definition:
av1_levels.h:37
AV1LevelDescriptor::max_header_rate
uint32_t max_header_rate
Definition:
av1_levels.h:36
AV1LevelDescriptor::max_v_size
uint32_t max_v_size
Definition:
av1_levels.h:32
width
#define width
Definition:
dsp.h:85
ff_av1_guess_level
const AV1LevelDescriptor * ff_av1_guess_level(int64_t bitrate, int tier, int width, int height, int tile_rows, int tile_cols, float fps)
Guess the level of a stream from some parameters.
Definition:
av1_levels.c:48
AV1LevelDescriptor::level_idx
uint8_t level_idx
Definition:
av1_levels.h:28
Generated on Wed Dec 4 2024 19:21:34 for FFmpeg by
1.8.17