FFmpeg
hw_base_encode_h265.h
Go to the documentation of this file.
1 /*
2  * This file is part of FFmpeg.
3  *
4  * FFmpeg is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * FFmpeg is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with FFmpeg; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17  */
18 
19 #ifndef AVCODEC_HW_BASE_ENCODE_H265_H
20 #define AVCODEC_HW_BASE_ENCODE_H265_H
21 
22 #include "hw_base_encode.h"
23 #include "cbs_h265.h"
24 
25 typedef struct FFHWBaseEncodeH265 {
29 
32 
33 typedef struct FFHWBaseEncodeH265Opts {
34  int tier;
37 
38  int tile_rows;
39  int tile_cols;
40 
41  int nb_slices;
44 
45  // Tile width of the i-th column.
46  int col_width[22];
47  // Tile height of i-th row.
48  int row_height[22];
50 
52  AVCodecContext *avctx,
53  FFHWBaseEncodeH265 *common,
55 
56 #endif /* AVCODEC_HW_BASE_ENCODE_H265_H */
ff_hw_base_encode_init_params_h265
int ff_hw_base_encode_init_params_h265(FFHWBaseEncodeContext *base_ctx, AVCodecContext *avctx, FFHWBaseEncodeH265 *common, FFHWBaseEncodeH265Opts *opts)
Definition: hw_base_encode_h265.c:26
FFHWBaseEncodeH265Opts::tile_cols
int tile_cols
Definition: hw_base_encode_h265.h:39
FFHWBaseEncodeH265::raw_vps
H265RawVPS raw_vps
Definition: hw_base_encode_h265.h:26
cbs_h265.h
H265RawSPS
Definition: cbs_h265.h:245
H265RawVPS
Definition: cbs_h265.h:184
H265RawPPS
Definition: cbs_h265.h:356
FFHWBaseEncodeContext
Definition: hw_base_encode.h:122
FFHWBaseEncodeH265Opts::slice_block_rows
int slice_block_rows
Definition: hw_base_encode_h265.h:42
FFHWBaseEncodeH265Opts::slice_block_cols
int slice_block_cols
Definition: hw_base_encode_h265.h:43
FFHWBaseEncodeH265::raw_pps
H265RawPPS raw_pps
Definition: hw_base_encode_h265.h:28
FFHWBaseEncodeH265Opts::tile_rows
int tile_rows
Definition: hw_base_encode_h265.h:38
FFHWBaseEncodeH265Opts::tier
int tier
Definition: hw_base_encode_h265.h:34
hw_base_encode.h
FFHWBaseEncodeH265Opts::row_height
int row_height[22]
Definition: hw_base_encode_h265.h:48
opts
AVDictionary * opts
Definition: movenc.c:51
FFHWBaseEncodeH265Opts
Definition: hw_base_encode_h265.h:33
FFHWBaseEncodeH265::dpb_frames
int dpb_frames
Definition: hw_base_encode_h265.h:30
FFHWBaseEncodeH265
Definition: hw_base_encode_h265.h:25
FFHWBaseEncodeH265Opts::cu_qp_delta_enabled_flag
int cu_qp_delta_enabled_flag
Definition: hw_base_encode_h265.h:36
FFHWBaseEncodeH265Opts::nb_slices
int nb_slices
Definition: hw_base_encode_h265.h:41
AVCodecContext
main external API structure.
Definition: avcodec.h:451
FFHWBaseEncodeH265Opts::fixed_qp_idr
int fixed_qp_idr
Definition: hw_base_encode_h265.h:35
FFHWBaseEncodeH265::raw_sps
H265RawSPS raw_sps
Definition: hw_base_encode_h265.h:27
FFHWBaseEncodeH265Opts::col_width
int col_width[22]
Definition: hw_base_encode_h265.h:46