FFmpeg
hw_base_encode_h264.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_H264_H
20 #define AVCODEC_HW_BASE_ENCODE_H264_H
21 
22 #include "hw_base_encode.h"
23 #include "cbs_h264.h"
24 
25 typedef struct FFHWBaseEncodeH264 {
28 
30 
33 
34 typedef struct FFHWBaseEncodeH264Opts {
35  int flags;
36 #define FF_HW_H264_SEI_TIMING (1 << 0)
37 
38  int mb_width;
39  int mb_height;
41  int cabac;
43  uint64_t hrd_buffer_size;
46 
48  AVCodecContext *avctx,
49  FFHWBaseEncodeH264 *common,
51 
52 #endif /* AVCODEC_HW_BASE_ENCODE_H264_H */
FFHWBaseEncodeH264Opts
Definition: hw_base_encode_h264.h:34
FFHWBaseEncodeH264Opts::initial_buffer_fullness
uint64_t initial_buffer_fullness
Definition: hw_base_encode_h264.h:44
cbs_h264.h
FFHWBaseEncodeH264Opts::flags
int flags
Definition: hw_base_encode_h264.h:35
int64_t
long long int64_t
Definition: coverity.c:34
FFHWBaseEncodeContext
Definition: hw_base_encode.h:122
FFHWBaseEncodeH264
Definition: hw_base_encode_h264.h:25
FFHWBaseEncodeH264Opts::cabac
int cabac
Definition: hw_base_encode_h264.h:41
FFHWBaseEncodeH264::dpb_frames
int dpb_frames
Definition: hw_base_encode_h264.h:31
FFHWBaseEncodeH264Opts::fixed_qp_idr
int fixed_qp_idr
Definition: hw_base_encode_h264.h:42
hw_base_encode.h
FFHWBaseEncodeH264::raw_sps
H264RawSPS raw_sps
Definition: hw_base_encode_h264.h:26
opts
AVDictionary * opts
Definition: movenc.c:51
FFHWBaseEncodeH264::sei_buffering_period
H264RawSEIBufferingPeriod sei_buffering_period
Definition: hw_base_encode_h264.h:29
FFHWBaseEncodeH264::raw_pps
H264RawPPS raw_pps
Definition: hw_base_encode_h264.h:27
FFHWBaseEncodeH264Opts::mb_height
int mb_height
Definition: hw_base_encode_h264.h:39
FFHWBaseEncodeH264Opts::bit_rate
int64_t bit_rate
Definition: hw_base_encode_h264.h:40
ff_hw_base_encode_init_params_h264
int ff_hw_base_encode_init_params_h264(FFHWBaseEncodeContext *base_ctx, AVCodecContext *avctx, FFHWBaseEncodeH264 *common, FFHWBaseEncodeH264Opts *opts)
Definition: hw_base_encode_h264.c:26
AVCodecContext
main external API structure.
Definition: avcodec.h:451
FFHWBaseEncodeH264Opts::mb_width
int mb_width
Definition: hw_base_encode_h264.h:38
H264RawSEIBufferingPeriod
Definition: cbs_h264.h:224
FFHWBaseEncodeH264Opts::hrd_buffer_size
uint64_t hrd_buffer_size
Definition: hw_base_encode_h264.h:43
H264RawSPS
Definition: cbs_h264.h:102
H264RawPPS
Definition: cbs_h264.h:171