diff options
author | Ivan Maltz <ivanmaltz@google.com> | 2013-09-05 08:55:47 -0700 |
---|---|---|
committer | Ivan Maltz <ivanmaltz@google.com> | 2013-09-09 15:57:56 -0700 |
commit | 01b35c3c160e6158babfce046360bdc6a09d5c17 (patch) | |
tree | 433722120deacb3a9f6e1fa618b6742eb581ecc5 /vpx | |
parent | 1cf2272347f8a07b29a0ee2d9d6445826f2f7e6f (diff) | |
download | libvpx-01b35c3c160e6158babfce046360bdc6a09d5c17.tar libvpx-01b35c3c160e6158babfce046360bdc6a09d5c17.tar.gz libvpx-01b35c3c160e6158babfce046360bdc6a09d5c17.tar.bz2 libvpx-01b35c3c160e6158babfce046360bdc6a09d5c17.zip |
API extensions and sample app for spacial scalable encoder
Sample app: vp9_spatial_scalable_encoder
vpx_codec_control extensions:
VP9E_SET_SVC
VP9E_SET_WIDTH, VP9E_SET_HEIGHT, VP9E_SET_LAYER
VP9E_SET_MIN_Q, VP9E_SET_MAX_Q
expanded buffer size for vp9_convolve
modified setting of initial width in vp9_onyx_if.c so that layer size
can be set prior to initial encode
Default number of layers set to 3 (VPX_SS_DEFAULT_LAYERS)
Number of layers set explicitly in vpx_codec_enc_cfg.ss_number_layers
Change-Id: I2c7a6fe6d665113671337032f7ad032430ac4197
Diffstat (limited to 'vpx')
-rw-r--r-- | vpx/vp8cx.h | 19 | ||||
-rw-r--r-- | vpx/vpx_encoder.h | 14 |
2 files changed, 31 insertions, 2 deletions
diff --git a/vpx/vp8cx.h b/vpx/vp8cx.h index f8e2ef9c3..f3ea6d3a2 100644 --- a/vpx/vp8cx.h +++ b/vpx/vp8cx.h @@ -190,7 +190,15 @@ enum vp8e_enc_control_id { VP9E_SET_LOSSLESS, VP9E_SET_TILE_COLUMNS, VP9E_SET_TILE_ROWS, - VP9E_SET_FRAME_PARALLEL_DECODING + VP9E_SET_FRAME_PARALLEL_DECODING, + + VP9E_SET_WIDTH = 99, + VP9E_SET_HEIGHT, + VP9E_SET_LAYER, + VP9E_SET_SVC, + + VP9E_SET_MAX_Q, + VP9E_SET_MIN_Q }; /*!\brief vpx 1-D scaling mode @@ -292,6 +300,12 @@ VPX_CTRL_USE_TYPE(VP8E_SET_ROI_MAP, vpx_roi_map_t *) VPX_CTRL_USE_TYPE(VP8E_SET_ACTIVEMAP, vpx_active_map_t *) VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) +VPX_CTRL_USE_TYPE(VP9E_SET_LAYER, int *) +VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) + +VPX_CTRL_USE_TYPE(VP9E_SET_WIDTH, unsigned int *) +VPX_CTRL_USE_TYPE(VP9E_SET_HEIGHT, unsigned int *) + VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) VPX_CTRL_USE_TYPE(VP8E_SET_NOISE_SENSITIVITY, unsigned int) @@ -316,6 +330,9 @@ VPX_CTRL_USE_TYPE(VP8E_SET_MAX_INTRA_BITRATE_PCT, unsigned int) VPX_CTRL_USE_TYPE(VP9E_SET_LOSSLESS, unsigned int) VPX_CTRL_USE_TYPE(VP9E_SET_FRAME_PARALLEL_DECODING, unsigned int) + +VPX_CTRL_USE_TYPE(VP9E_SET_MAX_Q, unsigned int) +VPX_CTRL_USE_TYPE(VP9E_SET_MIN_Q, unsigned int) /*! @} - end defgroup vp8_encoder */ #include "vpx_codec_impl_bottom.h" #endif diff --git a/vpx/vpx_encoder.h b/vpx/vpx_encoder.h index ffdbc0644..181b92a3c 100644 --- a/vpx/vpx_encoder.h +++ b/vpx/vpx_encoder.h @@ -46,6 +46,12 @@ extern "C" { /*!\deprecated Use #VPX_TS_MAX_LAYERS instead. */ #define MAX_LAYERS VPX_TS_MAX_LAYERS +/*! Spatial Scalability: Maximum number of coding layers */ +#define VPX_SS_MAX_LAYERS 5 + +/*! Spatial Scalability: Default number of coding layers */ +#define VPX_SS_DEFAULT_LAYERS 3 + /*!\brief Current ABI version number * * \internal @@ -595,8 +601,14 @@ extern "C" { unsigned int kf_max_dist; /* - * Temporal scalability settings (ts) + * Spatial scalability settings (ss) + */ + + /*!\brief Number of coding layers (spatial) + * + * This value specifies the number of coding layers to be used. */ + unsigned int ss_number_layers; /*!\brief Number of coding layers * |