WebM Codec SDK

vp8cx.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10 #ifndef VPX_VPX_VP8CX_H_
11 #define VPX_VPX_VP8CX_H_
12
18 #include "./vp8.h"
19 #include "./vpx_encoder.h"
20
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29
35 extern vpx_codec_iface_t vpx_codec_vp8_cx_algo;
36 extern vpx_codec_iface_t *vpx_codec_vp8_cx(void);
44 extern vpx_codec_iface_t vpx_codec_vp9_cx_algo;
45 extern vpx_codec_iface_t *vpx_codec_vp9_cx(void);
48 /*
49 * Algorithm Flags
50 */
51
58 #define VP8_EFLAG_NO_REF_LAST (1 << 16)
59
66 #define VP8_EFLAG_NO_REF_GF (1 << 17)
67
74 #define VP8_EFLAG_NO_REF_ARF (1 << 21)
75
81 #define VP8_EFLAG_NO_UPD_LAST (1 << 18)
82
88 #define VP8_EFLAG_NO_UPD_GF (1 << 22)
89
95 #define VP8_EFLAG_NO_UPD_ARF (1 << 23)
96
102 #define VP8_EFLAG_FORCE_GF (1 << 19)
103
109 #define VP8_EFLAG_FORCE_ARF (1 << 24)
110
116 #define VP8_EFLAG_NO_UPD_ENTROPY (1 << 20)
117
125 enum vp8e_enc_control_id {
130 VP8E_SET_ROI_MAP = 8,
131
136 VP8E_SET_ACTIVEMAP,
137
142 VP8E_SET_SCALEMODE = 11,
143
155 VP8E_SET_CPUUSED = 13,
156
164 VP8E_SET_ENABLEAUTOALTREF,
165
173 VP8E_SET_NOISE_SENSITIVITY,
174
182 VP8E_SET_SHARPNESS,
183
188 VP8E_SET_STATIC_THRESHOLD,
189
194 VP8E_SET_TOKEN_PARTITIONS,
195
202 VP8E_GET_LAST_QUANTIZER,
203
211 VP8E_GET_LAST_QUANTIZER_64,
212
217 VP8E_SET_ARNR_MAXFRAMES,
218
223 VP8E_SET_ARNR_STRENGTH,
224
226 VP8E_SET_ARNR_TYPE,
227
232 VP8E_SET_TUNING,
233
242 VP8E_SET_CQ_LEVEL,
243
257 VP8E_SET_MAX_INTRA_BITRATE_PCT,
258
263 VP8E_SET_FRAME_FLAGS,
264
278 VP9E_SET_MAX_INTER_BITRATE_PCT,
279
293 VP9E_SET_GF_CBR_BOOST_PCT,
294
304 VP8E_SET_TEMPORAL_LAYER_ID,
305
312 VP8E_SET_SCREEN_CONTENT_MODE,
313
327 VP9E_SET_LOSSLESS,
328
351 VP9E_SET_TILE_COLUMNS,
352
371 VP9E_SET_TILE_ROWS,
372
385 VP9E_SET_FRAME_PARALLEL_DECODING,
386
398 VP9E_SET_AQ_MODE,
399
413 VP9E_SET_FRAME_PERIODIC_BOOST,
414
421 VP9E_SET_NOISE_SENSITIVITY,
422
430 VP9E_SET_SVC,
431
436 VP9E_SET_ROI_MAP,
437
444 VP9E_SET_SVC_PARAMETERS,
445
453 VP9E_SET_SVC_LAYER_ID,
454
463 VP9E_SET_TUNE_CONTENT,
464
471 VP9E_GET_SVC_LAYER_ID,
472
479 VP9E_REGISTER_CX_CALLBACK,
480
494 VP9E_SET_COLOR_SPACE,
495
506 VP9E_SET_TEMPORAL_LAYERING_MODE,
507
514 VP9E_SET_MIN_GF_INTERVAL,
515
522 VP9E_SET_MAX_GF_INTERVAL,
523
528 VP9E_GET_ACTIVEMAP,
529
537 VP9E_SET_COLOR_RANGE,
538
545 VP9E_SET_SVC_REF_FRAME_CONFIG,
546
553 VP9E_SET_RENDER_SIZE,
554
562 VP9E_SET_TARGET_LEVEL,
563
570 VP9E_SET_ROW_MT,
571
576 VP9E_GET_LEVEL,
577
586 VP9E_SET_ALT_REF_AQ,
587
601 VP8E_SET_GF_CBR_BOOST_PCT,
602
610 VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST,
611
619 VP9E_SET_SVC_INTER_LAYER_PRED,
620
628 VP9E_SET_SVC_FRAME_DROP_LAYER,
629
635 VP9E_GET_SVC_REF_FRAME_CONFIG,
636
645 VP9E_SET_SVC_GF_TEMPORAL_REF,
646
660 VP9E_SET_SVC_SPATIAL_LAYER_SYNC,
661
668 VP9E_SET_TPL,
669
678 VP9E_SET_POSTENCODE_DROP,
679
686 VP9E_SET_DELTA_Q_UV,
687 };
688
693 typedef enum vpx_scaling_mode_1d {
694 VP8E_NORMAL = 0,
695 VP8E_FOURFIVE = 1,
696 VP8E_THREEFIVE = 2,
697 VP8E_ONETWO = 3
698 } VPX_SCALING_MODE;
699
706 typedef enum vp9e_temporal_layering_mode {
710 VP9E_TEMPORAL_LAYERING_MODE_NOLAYERING = 0,
711
716 VP9E_TEMPORAL_LAYERING_MODE_BYPASS = 1,
717
720 VP9E_TEMPORAL_LAYERING_MODE_0101 = 2,
721
724 VP9E_TEMPORAL_LAYERING_MODE_0212 = 3
725 } VP9E_TEMPORAL_LAYERING_MODE;
726
733 typedef struct vpx_roi_map {
735 uint8_t enabled;
738 unsigned char *roi_map;
739 unsigned int rows;
740 unsigned int cols;
742 int delta_q[8];
743 int delta_lf[8];
745 int skip[8];
746 int ref_frame[8];
748 unsigned int static_threshold[4];
749 } vpx_roi_map_t;
750
757 typedef struct vpx_active_map {
759 unsigned char *active_map;
760 unsigned int rows;
761 unsigned int cols;
762 } vpx_active_map_t;
763
769 typedef struct vpx_scaling_mode {
770 VPX_SCALING_MODE h_scaling_mode;
771 VPX_SCALING_MODE v_scaling_mode;
772 } vpx_scaling_mode_t;
773
781 typedef enum {
782 VP8_ONE_TOKENPARTITION = 0,
783 VP8_TWO_TOKENPARTITION = 1,
784 VP8_FOUR_TOKENPARTITION = 2,
785 VP8_EIGHT_TOKENPARTITION = 3
786 } vp8e_token_partitions;
787
789 typedef enum {
790 VP9E_CONTENT_DEFAULT,
791 VP9E_CONTENT_SCREEN,
792 VP9E_CONTENT_FILM,
793 VP9E_CONTENT_INVALID
794 } vp9e_tune_content;
795
801 typedef enum { VP8_TUNE_PSNR, VP8_TUNE_SSIM } vp8e_tuning;
802
810 typedef struct vpx_svc_layer_id {
811 int spatial_layer_id;
812 // TODO(jianj): Deprecated, to be removed.
813 int temporal_layer_id;
814 int temporal_layer_id_per_spatial[VPX_SS_MAX_LAYERS];
815 } vpx_svc_layer_id_t;
816
825 typedef struct vpx_svc_ref_frame_config {
826 int lst_fb_idx[VPX_SS_MAX_LAYERS];
827 int gld_fb_idx[VPX_SS_MAX_LAYERS];
828 int alt_fb_idx[VPX_SS_MAX_LAYERS];
829 int update_buffer_slot[VPX_SS_MAX_LAYERS];
830 // TODO(jianj): Remove update_last/golden/alt_ref, these are deprecated.
831 int update_last[VPX_SS_MAX_LAYERS];
832 int update_golden[VPX_SS_MAX_LAYERS];
833 int update_alt_ref[VPX_SS_MAX_LAYERS];
834 int reference_last[VPX_SS_MAX_LAYERS];
835 int reference_golden[VPX_SS_MAX_LAYERS];
836 int reference_alt_ref[VPX_SS_MAX_LAYERS];
837 int64_t duration[VPX_SS_MAX_LAYERS];
838 } vpx_svc_ref_frame_config_t;
839
845 typedef enum {
846 CONSTRAINED_LAYER_DROP,
848 LAYER_DROP,
849 FULL_SUPERFRAME_DROP,
850 CONSTRAINED_FROM_ABOVE_DROP,
852 } SVC_LAYER_DROP_MODE;
853
861 typedef struct vpx_svc_frame_drop {
862 int framedrop_thresh[VPX_SS_MAX_LAYERS];
863 SVC_LAYER_DROP_MODE
864 framedrop_mode;
865 int max_consec_drop;
866 } vpx_svc_frame_drop_t;
867
873 typedef struct vpx_svc_spatial_layer_sync {
874 int spatial_layer_sync[VPX_SS_MAX_LAYERS];
875 int base_layer_intra_only;
876 } vpx_svc_spatial_layer_sync_t;
877
886 VPX_CTRL_USE_TYPE(VP8E_SET_FRAME_FLAGS, int)
887 #define VPX_CTRL_VP8E_SET_FRAME_FLAGS
888 VPX_CTRL_USE_TYPE(VP8E_SET_TEMPORAL_LAYER_ID, int)
889 #define VPX_CTRL_VP8E_SET_TEMPORAL_LAYER_ID
890 VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *)
891 #define VPX_CTRL_VP8E_SET_ROI_MAP
892 VPX_CTRL_USE_TYPE(VP9E_SET_ROI_MAP, vpx_roi_map_t *)
893 #define VPX_CTRL_VP9E_SET_ROI_MAP
894 VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *)
895 #define VPX_CTRL_VP8E_SET_ACTIVEMAP
896 VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *)
897 #define VPX_CTRL_VP8E_SET_SCALEMODE
898
899 VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int)
900 #define VPX_CTRL_VP9E_SET_SVC
901 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, void *)
902 #define VPX_CTRL_VP9E_SET_SVC_PARAMETERS
903 VPX_CTRL_USE_TYPE(VP9E_REGISTER_CX_CALLBACK, void *)
904 #define VPX_CTRL_VP9E_REGISTER_CX_CALLBACK
905 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_LAYER_ID, vpx_svc_layer_id_t *)
906 #define VPX_CTRL_VP9E_SET_SVC_LAYER_ID
907
908 VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int)
909 #define VPX_CTRL_VP8E_SET_CPUUSED
910 VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int)
911 #define VPX_CTRL_VP8E_SET_ENABLEAUTOALTREF
912 VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int)
913 #define VPX_CTRL_VP8E_SET_NOISE_SENSITIVITY
914 VPX_CTRL_USE_TYPE(VP8E_SET_SHARPNESS, unsigned int)
915 #define VPX_CTRL_VP8E_SET_SHARPNESS
916 VPX_CTRL_USE_TYPE(VP8E_SET_STATIC_THRESHOLD, unsigned int)
917 #define VPX_CTRL_VP8E_SET_STATIC_THRESHOLD
918 VPX_CTRL_USE_TYPE(VP8E_SET_TOKEN_PARTITIONS, int) /* vp8e_token_partitions */
919 #define VPX_CTRL_VP8E_SET_TOKEN_PARTITIONS
920
921 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_MAXFRAMES, unsigned int)
922 #define VPX_CTRL_VP8E_SET_ARNR_MAXFRAMES
923 VPX_CTRL_USE_TYPE(VP8E_SET_ARNR_STRENGTH, unsigned int)
924 #define VPX_CTRL_VP8E_SET_ARNR_STRENGTH
925 VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_SET_ARNR_TYPE, unsigned int)
926 #define VPX_CTRL_VP8E_SET_ARNR_TYPE
927 VPX_CTRL_USE_TYPE(VP8E_SET_TUNING, int) /* vp8e_tuning */
928 #define VPX_CTRL_VP8E_SET_TUNING
929 VPX_CTRL_USE_TYPE(VP8E_SET_CQ_LEVEL, unsigned int)
930 #define VPX_CTRL_VP8E_SET_CQ_LEVEL
931
932 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_COLUMNS, int)
933 #define VPX_CTRL_VP9E_SET_TILE_COLUMNS
934 VPX_CTRL_USE_TYPE(VP9E_SET_TILE_ROWS, int)
935 #define VPX_CTRL_VP9E_SET_TILE_ROWS
936
937 VPX_CTRL_USE_TYPE(VP9E_SET_TPL, int)
938 #define VPX_CTRL_VP9E_SET_TPL
939
940 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER, int *)
941 #define VPX_CTRL_VP8E_GET_LAST_QUANTIZER
942 VPX_CTRL_USE_TYPE(VP8E_GET_LAST_QUANTIZER_64, int *)
943 #define VPX_CTRL_VP8E_GET_LAST_QUANTIZER_64
944 VPX_CTRL_USE_TYPE(VP9E_GET_SVC_LAYER_ID, vpx_svc_layer_id_t *)
945 #define VPX_CTRL_VP9E_GET_SVC_LAYER_ID
946
947 VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int)
948 #define VPX_CTRL_VP8E_SET_MAX_INTRA_BITRATE_PCT
949 VPX_CTRL_USE_TYPE(VP9E_SET_MAX_INTER_BITRATE_PCT, unsigned int)
950 #define VPX_CTRL_VP9E_SET_MAX_INTER_BITRATE_PCT
951
952 VPX_CTRL_USE_TYPE(VP8E_SET_GF_CBR_BOOST_PCT, unsigned int)
953 #define VPX_CTRL_VP8E_SET_GF_CBR_BOOST_PCT
954
955 VPX_CTRL_USE_TYPE(VP8E_SET_SCREEN_CONTENT_MODE, unsigned int)
956 #define VPX_CTRL_VP8E_SET_SCREEN_CONTENT_MODE
957
958 VPX_CTRL_USE_TYPE(VP9E_SET_GF_CBR_BOOST_PCT, unsigned int)
959 #define VPX_CTRL_VP9E_SET_GF_CBR_BOOST_PCT
960
961 VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int)
962 #define VPX_CTRL_VP9E_SET_LOSSLESS
963
964 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int)
965 #define VPX_CTRL_VP9E_SET_FRAME_PARALLEL_DECODING
966
967 VPX_CTRL_USE_TYPE(VP9E_SET_AQ_MODE, unsigned int)
968 #define VPX_CTRL_VP9E_SET_AQ_MODE
969
970 VPX_CTRL_USE_TYPE(VP9E_SET_ALT_REF_AQ, int)
971 #define VPX_CTRL_VP9E_SET_ALT_REF_AQ
972
973 VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PERIODIC_BOOST, unsigned int)
974 #define VPX_CTRL_VP9E_SET_FRAME_PERIODIC_BOOST
975
976 VPX_CTRL_USE_TYPE(VP9E_SET_NOISE_SENSITIVITY, unsigned int)
977 #define VPX_CTRL_VP9E_SET_NOISE_SENSITIVITY
978
979 VPX_CTRL_USE_TYPE(VP9E_SET_TUNE_CONTENT, int) /* vp9e_tune_content */
980 #define VPX_CTRL_VP9E_SET_TUNE_CONTENT
981
982 VPX_CTRL_USE_TYPE(VP9E_SET_COLOR_SPACE, int)
983 #define VPX_CTRL_VP9E_SET_COLOR_SPACE
984
985 VPX_CTRL_USE_TYPE(VP9E_SET_MIN_GF_INTERVAL, unsigned int)
986 #define VPX_CTRL_VP9E_SET_MIN_GF_INTERVAL
987
988 VPX_CTRL_USE_TYPE(VP9E_SET_MAX_GF_INTERVAL, unsigned int)
989 #define VPX_CTRL_VP9E_SET_MAX_GF_INTERVAL
990
991 VPX_CTRL_USE_TYPE(VP9E_GET_ACTIVEMAP, vpx_active_map_t *)
992 #define VPX_CTRL_VP9E_GET_ACTIVEMAP
993
994 VPX_CTRL_USE_TYPE(VP9E_SET_COLOR_RANGE, int)
995 #define VPX_CTRL_VP9E_SET_COLOR_RANGE
996
997 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_REF_FRAME_CONFIG, vpx_svc_ref_frame_config_t *)
998 #define VPX_CTRL_VP9E_SET_SVC_REF_FRAME_CONFIG
999
1000 VPX_CTRL_USE_TYPE(VP9E_SET_RENDER_SIZE, int *)
1001 #define VPX_CTRL_VP9E_SET_RENDER_SIZE
1002
1003 VPX_CTRL_USE_TYPE(VP9E_SET_TARGET_LEVEL, unsigned int)
1004 #define VPX_CTRL_VP9E_SET_TARGET_LEVEL
1005
1006 VPX_CTRL_USE_TYPE(VP9E_SET_ROW_MT, unsigned int)
1007 #define VPX_CTRL_VP9E_SET_ROW_MT
1008
1009 VPX_CTRL_USE_TYPE(VP9E_GET_LEVEL, int *)
1010 #define VPX_CTRL_VP9E_GET_LEVEL
1011
1012 VPX_CTRL_USE_TYPE(VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST, unsigned int)
1013 #define VPX_CTRL_VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST
1014
1015 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_INTER_LAYER_PRED, unsigned int)
1016 #define VPX_CTRL_VP9E_SET_SVC_INTER_LAYER_PRED
1017
1018 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_FRAME_DROP_LAYER, vpx_svc_frame_drop_t *)
1019 #define VPX_CTRL_VP9E_SET_SVC_FRAME_DROP_LAYER
1020
1021 VPX_CTRL_USE_TYPE(VP9E_GET_SVC_REF_FRAME_CONFIG, vpx_svc_ref_frame_config_t *)
1022 #define VPX_CTRL_VP9E_GET_SVC_REF_FRAME_CONFIG
1023
1024 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_GF_TEMPORAL_REF, unsigned int)
1025 #define VPX_CTRL_VP9E_SET_SVC_GF_TEMPORAL_REF
1026
1027 VPX_CTRL_USE_TYPE(VP9E_SET_SVC_SPATIAL_LAYER_SYNC,
1028 vpx_svc_spatial_layer_sync_t *)
1029 #define VPX_CTRL_VP9E_SET_SVC_SPATIAL_LAYER_SYNC
1030
1031 VPX_CTRL_USE_TYPE(VP9E_SET_POSTENCODE_DROP, unsigned int)
1032 #define VPX_CTRL_VP9E_SET_POSTENCODE_DROP
1033
1034 VPX_CTRL_USE_TYPE(VP9E_SET_DELTA_Q_UV, int)
1035 #define VPX_CTRL_VP9E_SET_DELTA_Q_UV
1036
1039 #ifdef __cplusplus
1040 } // extern "C"
1041 #endif
1042
1043 #endif // VPX_VPX_VP8CX_H_
vpx_svc_ref_frame_config::alt_fb_idx
int alt_fb_idx[5]
Definition: vp8cx.h:828
VP9E_REGISTER_CX_CALLBACK
@ VP9E_REGISTER_CX_CALLBACK
Codec control function to register callback to get per layer packet.
Definition: vp8cx.h:479
vpx_svc_ref_frame_config::gld_fb_idx
int gld_fb_idx[5]
Definition: vp8cx.h:827
vpx_svc_ref_frame_config::lst_fb_idx
int lst_fb_idx[5]
Definition: vp8cx.h:826
vpx_roi_map
vpx region of interest map
Definition: vp8cx.h:733
VP8E_SET_ARNR_STRENGTH
@ VP8E_SET_ARNR_STRENGTH
Codec control function to set the filter strength for the arf.
Definition: vp8cx.h:223
VP9E_GET_SVC_REF_FRAME_CONFIG
@ VP9E_GET_SVC_REF_FRAME_CONFIG
Codec control function to get the refresh and reference flags and the buffer indices,...
Definition: vp8cx.h:635
vpx_roi_map::ref_frame
int ref_frame[8]
Definition: vp8cx.h:746
LAYER_DROP
@ LAYER_DROP
Definition: vp8cx.h:848
vpx_scaling_mode::h_scaling_mode
VPX_SCALING_MODE h_scaling_mode
Definition: vp8cx.h:770
VP9E_SET_TARGET_LEVEL
@ VP9E_SET_TARGET_LEVEL
Codec control function to set target level.
Definition: vp8cx.h:562
VPX_SS_MAX_LAYERS
#define VPX_SS_MAX_LAYERS
Definition: vpx_encoder.h:46
vp8e_tuning
vp8e_tuning
VP8 model tuning parameters.
Definition: vp8cx.h:801
vpx_roi_map::enabled
uint8_t enabled
Definition: vp8cx.h:735
VP9E_TEMPORAL_LAYERING_MODE_0212
@ VP9E_TEMPORAL_LAYERING_MODE_0212
0-2-1-2... temporal layering scheme with three temporal layers.
Definition: vp8cx.h:724
CONSTRAINED_LAYER_DROP
@ CONSTRAINED_LAYER_DROP
Definition: vp8cx.h:846
vpx_active_map::cols
unsigned int cols
Definition: vp8cx.h:761
VP9E_TEMPORAL_LAYERING_MODE_NOLAYERING
@ VP9E_TEMPORAL_LAYERING_MODE_NOLAYERING
No temporal layering. Used when only spatial layering is used.
Definition: vp8cx.h:710
VP8E_SET_ENABLEAUTOALTREF
@ VP8E_SET_ENABLEAUTOALTREF
Codec control function to enable automatic use of arf frames.
Definition: vp8cx.h:164
VP9E_SET_AQ_MODE
@ VP9E_SET_AQ_MODE
Codec control function to set adaptive quantization mode.
Definition: vp8cx.h:398
vp9e_tune_content
vp9e_tune_content
Definition: vp8cx.h:789
VP9E_GET_SVC_LAYER_ID
@ VP9E_GET_SVC_LAYER_ID
Codec control function to get svc layer ID.
Definition: vp8cx.h:471
VP9E_SET_ROI_MAP
@ VP9E_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: vp8cx.h:436
VP9E_SET_DELTA_Q_UV
@ VP9E_SET_DELTA_Q_UV
Codec control function to set delta q for uv.
Definition: vp8cx.h:686
VP9E_SET_LOSSLESS
@ VP9E_SET_LOSSLESS
Codec control function to set lossless encoding mode.
Definition: vp8cx.h:327
VP8E_SET_SCREEN_CONTENT_MODE
@ VP8E_SET_SCREEN_CONTENT_MODE
Codec control function to set encoder screen content mode.
Definition: vp8cx.h:312
VP9E_TEMPORAL_LAYERING_MODE_BYPASS
@ VP9E_TEMPORAL_LAYERING_MODE_BYPASS
Bypass mode. Used when application needs to control temporal layering. This will only work when the n...
Definition: vp8cx.h:716
VP8E_GET_LAST_QUANTIZER_64
@ VP8E_GET_LAST_QUANTIZER_64
Codec control function to get last quantizer chosen by the encoder.
Definition: vp8cx.h:211
vpx_svc_ref_frame_config::reference_golden
int reference_golden[5]
Definition: vp8cx.h:835
VP9E_SET_POSTENCODE_DROP
@ VP9E_SET_POSTENCODE_DROP
Codec control function to enable postencode frame drop.
Definition: vp8cx.h:678
vp8e_enc_control_id
vp8e_enc_control_id
VPx encoder control functions.
Definition: vp8cx.h:125
vpx_svc_ref_frame_config::update_alt_ref
int update_alt_ref[5]
Definition: vp8cx.h:833
VP8E_SET_NOISE_SENSITIVITY
@ VP8E_SET_NOISE_SENSITIVITY
control function to set noise sensitivity
Definition: vp8cx.h:173
VP9E_SET_FRAME_PERIODIC_BOOST
@ VP9E_SET_FRAME_PERIODIC_BOOST
Codec control function to enable/disable periodic Q boost.
Definition: vp8cx.h:413
VP9E_SET_SVC_GF_TEMPORAL_REF
@ VP9E_SET_SVC_GF_TEMPORAL_REF
Codec control function to enable/disable use of golden reference as a second temporal reference for S...
Definition: vp8cx.h:645
VP9E_SET_GF_CBR_BOOST_PCT
@ VP9E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: vp8cx.h:293
VP9E_GET_ACTIVEMAP
@ VP9E_GET_ACTIVEMAP
Codec control function to get an Active map back from the encoder.
Definition: vp8cx.h:528
vpx_svc_frame_drop::max_consec_drop
int max_consec_drop
Definition: vp8cx.h:865
vpx_svc_spatial_layer_sync::base_layer_intra_only
int base_layer_intra_only
Definition: vp8cx.h:875
VPX_CTRL_USE_TYPE
#define VPX_CTRL_USE_TYPE(id, typ)
vpx_codec_control type definition macro
Definition: vpx_codec.h:422
VP9E_SET_COLOR_RANGE
@ VP9E_SET_COLOR_RANGE
Codec control function to set color range bit.
Definition: vp8cx.h:537
vpx_svc_layer_id::temporal_layer_id_per_spatial
int temporal_layer_id_per_spatial[5]
Definition: vp8cx.h:814
VP9E_SET_RENDER_SIZE
@ VP9E_SET_RENDER_SIZE
Codec control function to set intended rendering image size.
Definition: vp8cx.h:553
VP8E_GET_LAST_QUANTIZER
@ VP8E_GET_LAST_QUANTIZER
Codec control function to get last quantizer chosen by the encoder.
Definition: vp8cx.h:202
VPX_SCALING_MODE
enum vpx_scaling_mode_1d VPX_SCALING_MODE
vpx 1-D scaling mode
vpx_scaling_mode
vpx image scaling mode
Definition: vp8cx.h:769
vpx_svc_spatial_layer_sync::spatial_layer_sync
int spatial_layer_sync[5]
Definition: vp8cx.h:874
SVC_LAYER_DROP_MODE
SVC_LAYER_DROP_MODE
VP9 svc frame dropping mode.
Definition: vp8cx.h:845
VP9E_SET_MIN_GF_INTERVAL
@ VP9E_SET_MIN_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: vp8cx.h:514
VP9E_TEMPORAL_LAYERING_MODE
enum vp9e_temporal_layering_mode VP9E_TEMPORAL_LAYERING_MODE
Temporal layering mode enum for VP9 SVC.
vpx_svc_ref_frame_config
vp9 svc frame flag parameters.
Definition: vp8cx.h:825
CONSTRAINED_FROM_ABOVE_DROP
@ CONSTRAINED_FROM_ABOVE_DROP
Definition: vp8cx.h:850
VP9E_SET_MAX_GF_INTERVAL
@ VP9E_SET_MAX_GF_INTERVAL
Codec control function to set minimum interval between GF/ARF frames.
Definition: vp8cx.h:522
vpx_roi_map::rows
unsigned int rows
Definition: vp8cx.h:739
VP9E_SET_SVC
@ VP9E_SET_SVC
Codec control function to turn on/off SVC in encoder.
Definition: vp8cx.h:430
VP9E_SET_SVC_INTER_LAYER_PRED
@ VP9E_SET_SVC_INTER_LAYER_PRED
Codec control function to constrain the inter-layer prediction (prediction of lower spatial resolutio...
Definition: vp8cx.h:619
vpx_roi_map_t
struct vpx_roi_map vpx_roi_map_t
vpx region of interest map
VP9E_SET_FRAME_PARALLEL_DECODING
@ VP9E_SET_FRAME_PARALLEL_DECODING
Codec control function to enable frame parallel decoding feature.
Definition: vp8cx.h:385
VP9E_SET_MAX_INTER_BITRATE_PCT
@ VP9E_SET_MAX_INTER_BITRATE_PCT
Codec control function to set max data rate for Inter frames.
Definition: vp8cx.h:278
vpx_svc_layer_id_t
struct vpx_svc_layer_id vpx_svc_layer_id_t
vp9 svc layer parameters
VP8E_SET_STATIC_THRESHOLD
@ VP8E_SET_STATIC_THRESHOLD
Codec control function to set the threshold for MBs treated static.
Definition: vp8cx.h:188
vpx_svc_ref_frame_config::reference_last
int reference_last[5]
Definition: vp8cx.h:834
VP9E_SET_TILE_ROWS
@ VP9E_SET_TILE_ROWS
Codec control function to set number of tile rows.
Definition: vp8cx.h:371
VP8E_SET_SHARPNESS
@ VP8E_SET_SHARPNESS
Codec control function to set higher sharpness at the expense of a lower PSNR.
Definition: vp8cx.h:182
vpx_roi_map::cols
unsigned int cols
Definition: vp8cx.h:740
vpx_svc_spatial_layer_sync_t
struct vpx_svc_spatial_layer_sync vpx_svc_spatial_layer_sync_t
vp9 svc spatial layer sync parameters.
VP9E_SET_ALT_REF_AQ
@ VP9E_SET_ALT_REF_AQ
Codec control function to enable/disable special mode for altref adaptive quantization....
Definition: vp8cx.h:586
VP9E_GET_LEVEL
@ VP9E_GET_LEVEL
Codec control function to get bitstream level.
Definition: vp8cx.h:576
vpx_svc_ref_frame_config::update_buffer_slot
int update_buffer_slot[5]
Definition: vp8cx.h:829
vpx_roi_map::delta_q
int delta_q[8]
Definition: vp8cx.h:742
vpx_roi_map::delta_lf
int delta_lf[8]
Definition: vp8cx.h:743
VP9E_SET_SVC_LAYER_ID
@ VP9E_SET_SVC_LAYER_ID
Codec control function to set svc layer for spatial and temporal.
Definition: vp8cx.h:453
vpx_active_map_t
struct vpx_active_map vpx_active_map_t
vpx active region map
VP9E_SET_TEMPORAL_LAYERING_MODE
@ VP9E_SET_TEMPORAL_LAYERING_MODE
Codec control function to set temporal layering mode.
Definition: vp8cx.h:506
vp8e_token_partitions
vp8e_token_partitions
VP8 token partition mode.
Definition: vp8cx.h:781
vp8.h
Provides controls common to both the VP8 encoder and decoder.
vpx_roi_map::roi_map
unsigned char * roi_map
Definition: vp8cx.h:738
VP8E_SET_CPUUSED
@ VP8E_SET_CPUUSED
Codec control function to set encoder internal speed settings.
Definition: vp8cx.h:155
VP8E_SET_CQ_LEVEL
@ VP8E_SET_CQ_LEVEL
Codec control function to set constrained / constant quality level.
Definition: vp8cx.h:242
VPX_CTRL_USE_TYPE_DEPRECATED
#define VPX_CTRL_USE_TYPE_DEPRECATED(id, typ)
vpx_codec_control deprecated type definition macro
Definition: vpx_codec.h:448
VP9E_SET_TPL
@ VP9E_SET_TPL
Codec control function to enable temporal dependency model.
Definition: vp8cx.h:668
vpx_svc_frame_drop::framedrop_mode
SVC_LAYER_DROP_MODE framedrop_mode
Definition: vp8cx.h:864
vpx_svc_layer_id
vp9 svc layer parameters
Definition: vp8cx.h:810
VP9E_SET_TUNE_CONTENT
@ VP9E_SET_TUNE_CONTENT
Codec control function to set content type.
Definition: vp8cx.h:463
VP9E_SET_NOISE_SENSITIVITY
@ VP9E_SET_NOISE_SENSITIVITY
Codec control function to set noise sensitivity.
Definition: vp8cx.h:421
vpx_codec_iface_t
const struct vpx_codec_iface vpx_codec_iface_t
Codec interface structure.
Definition: vpx_codec.h:177
vpx_svc_layer_id::temporal_layer_id
int temporal_layer_id
Definition: vp8cx.h:813
vpx_active_map::active_map
unsigned char * active_map
specify an on (1) or off (0) each 16x16 region within a frame
Definition: vp8cx.h:759
vpx_svc_frame_drop::framedrop_thresh
int framedrop_thresh[5]
Definition: vp8cx.h:862
vp9e_temporal_layering_mode
vp9e_temporal_layering_mode
Temporal layering mode enum for VP9 SVC.
Definition: vp8cx.h:706
VP8E_SET_ACTIVEMAP
@ VP8E_SET_ACTIVEMAP
Codec control function to pass an Active map to encoder.
Definition: vp8cx.h:136
VP8E_SET_FRAME_FLAGS
@ VP8E_SET_FRAME_FLAGS
Codec control function to set reference and update frame flags.
Definition: vp8cx.h:263
vpx_svc_frame_drop_t
struct vpx_svc_frame_drop vpx_svc_frame_drop_t
vp9 svc frame dropping parameters.
vpx_scaling_mode_t
struct vpx_scaling_mode vpx_scaling_mode_t
vpx image scaling mode
vpx_svc_spatial_layer_sync
vp9 svc spatial layer sync parameters.
Definition: vp8cx.h:873
VP9E_SET_SVC_SPATIAL_LAYER_SYNC
@ VP9E_SET_SVC_SPATIAL_LAYER_SYNC
Codec control function to enable spatial layer sync frame, for any spatial layer. Enabling it for lay...
Definition: vp8cx.h:660
VP8E_SET_TUNING
@ VP8E_SET_TUNING
Codec control function to set visual tuning.
Definition: vp8cx.h:232
vpx_active_map::rows
unsigned int rows
Definition: vp8cx.h:760
VP9E_SET_ROW_MT
@ VP9E_SET_ROW_MT
Codec control function to set row level multi-threading.
Definition: vp8cx.h:570
vpx_svc_frame_drop
vp9 svc frame dropping parameters.
Definition: vp8cx.h:861
VP8E_SET_ARNR_TYPE
@ VP8E_SET_ARNR_TYPE
Definition: vp8cx.h:226
VP8E_SET_MAX_INTRA_BITRATE_PCT
@ VP8E_SET_MAX_INTRA_BITRATE_PCT
Codec control function to set Max data rate for Intra frames.
Definition: vp8cx.h:257
vpx_svc_layer_id::spatial_layer_id
int spatial_layer_id
Definition: vp8cx.h:811
vpx_svc_ref_frame_config_t
struct vpx_svc_ref_frame_config vpx_svc_ref_frame_config_t
vp9 svc frame flag parameters.
vpx_svc_ref_frame_config::update_golden
int update_golden[5]
Definition: vp8cx.h:832
VP9E_TEMPORAL_LAYERING_MODE_0101
@ VP9E_TEMPORAL_LAYERING_MODE_0101
0-1-0-1... temporal layering scheme with two temporal layers.
Definition: vp8cx.h:720
VP8E_SET_TOKEN_PARTITIONS
@ VP8E_SET_TOKEN_PARTITIONS
Codec control function to set the number of token partitions.
Definition: vp8cx.h:194
VP9E_SET_TILE_COLUMNS
@ VP9E_SET_TILE_COLUMNS
Codec control function to set number of tile columns.
Definition: vp8cx.h:351
vpx_scaling_mode_1d
vpx_scaling_mode_1d
vpx 1-D scaling mode
Definition: vp8cx.h:693
VP9E_SET_SVC_REF_FRAME_CONFIG
@ VP9E_SET_SVC_REF_FRAME_CONFIG
Codec control function to set the frame flags and buffer indices for spatial layers....
Definition: vp8cx.h:545
vpx_scaling_mode::v_scaling_mode
VPX_SCALING_MODE v_scaling_mode
Definition: vp8cx.h:771
vpx_roi_map::static_threshold
unsigned int static_threshold[4]
Definition: vp8cx.h:748
VP8E_SET_SCALEMODE
@ VP8E_SET_SCALEMODE
Codec control function to set encoder scaling mode.
Definition: vp8cx.h:142
VP9E_SET_SVC_FRAME_DROP_LAYER
@ VP9E_SET_SVC_FRAME_DROP_LAYER
Codec control function to set mode and thresholds for frame dropping in SVC. Drop frame thresholds ar...
Definition: vp8cx.h:628
vpx_svc_ref_frame_config::duration
int64_t duration[5]
Definition: vp8cx.h:837
vpx_roi_map::skip
int skip[8]
Definition: vp8cx.h:745
VP8E_SET_ROI_MAP
@ VP8E_SET_ROI_MAP
Codec control function to pass an ROI map to encoder.
Definition: vp8cx.h:130
VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST
@ VP9E_ENABLE_MOTION_VECTOR_UNIT_TEST
Codec control function to enable the extreme motion vector unit test in VP9. Please note that this is...
Definition: vp8cx.h:610
vpx_active_map
vpx active region map
Definition: vp8cx.h:757
VP9E_SET_COLOR_SPACE
@ VP9E_SET_COLOR_SPACE
Codec control function to set color space info.
Definition: vp8cx.h:494
vpx_encoder.h
Describes the encoder algorithm interface to applications.
vpx_svc_ref_frame_config::update_last
int update_last[5]
Definition: vp8cx.h:831
VP8E_SET_GF_CBR_BOOST_PCT
@ VP8E_SET_GF_CBR_BOOST_PCT
Boost percentage for Golden Frame in CBR mode.
Definition: vp8cx.h:601
VP9E_SET_SVC_PARAMETERS
@ VP9E_SET_SVC_PARAMETERS
Codec control function to set parameters for SVC.
Definition: vp8cx.h:444
vpx_svc_ref_frame_config::reference_alt_ref
int reference_alt_ref[5]
Definition: vp8cx.h:836
FULL_SUPERFRAME_DROP
@ FULL_SUPERFRAME_DROP
Definition: vp8cx.h:849
VP8E_SET_TEMPORAL_LAYER_ID
@ VP8E_SET_TEMPORAL_LAYER_ID
Codec control function to set the temporal layer id.
Definition: vp8cx.h:304
VP8E_SET_ARNR_MAXFRAMES
@ VP8E_SET_ARNR_MAXFRAMES
Codec control function to set the max no of frames to create arf.
Definition: vp8cx.h:217