diff options
author | Dmitrii Ovchinnikov <ovchinnikov.dmitrii@gmail.com> | 2023-05-17 14:59:40 +0200 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2023-06-29 10:49:33 -0300 |
commit | f593dc98bfe4196ad60510008d43764e526d8cb9 (patch) | |
tree | 160300b226df6dec24d0c884d2bf88263f50aa7b /libavcodec/amfenc.h | |
parent | 9e3f07aa21ea71c394116cd5b180c6d710d897d8 (diff) | |
download | ffmpeg-f593dc98bfe4196ad60510008d43764e526d8cb9.tar.gz |
libavcodec/amfenc: add PreAnalysis support
Additional information about the work of preanalysis can be found here:
https://github.com/GPUOpen-LibrariesAndSDKs/AMF/wiki/PreProcessing%20and%20PreAnalysis
Diffstat (limited to 'libavcodec/amfenc.h')
-rw-r--r-- | libavcodec/amfenc.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/libavcodec/amfenc.h b/libavcodec/amfenc.h index 66e0680719..2dbd378ef8 100644 --- a/libavcodec/amfenc.h +++ b/libavcodec/amfenc.h @@ -30,6 +30,7 @@ #include "avcodec.h" #include "hwconfig.h" +#define MAX_LOOKAHEAD_DEPTH 41 /** * AMF trace writer callback class @@ -84,7 +85,7 @@ typedef struct AmfContext { int usage; int profile; int level; - int preanalysis; + int preencode; int quality; int b_frame_delta_qp; int ref_b_frame_delta_qp; @@ -107,6 +108,10 @@ typedef struct AmfContext { int me_half_pel; int me_quarter_pel; int aud; + int max_consecutive_b_frames; + int max_b_frames; + int qvbr_quality_level; + int hw_high_motion_quality_boost; // HEVC - specific options @@ -122,6 +127,26 @@ typedef struct AmfContext { enum AMF_VIDEO_ENCODER_AV1_ALIGNMENT_MODE_ENUM align; + // Preanalysis - specific options + + int preanalysis; + int pa_activity_type; + int pa_scene_change_detection; + int pa_scene_change_detection_sensitivity; + int pa_static_scene_detection; + int pa_static_scene_detection_sensitivity; + int pa_initial_qp; + int pa_max_qp; + int pa_caq_strength; + int pa_frame_sad; + int pa_ltr; + int pa_lookahead_buffer_depth; + int pa_paq_mode; + int pa_taq_mode; + int pa_high_motion_quality_boost_mode; + int pa_adaptive_mini_gop; + + } AmfContext; extern const AVCodecHWConfigInternal *const ff_amfenc_hw_configs[]; |