diff options
author | Vignesh Venkatasubramanian <vigneshv@google.com> | 2014-03-26 15:13:32 -0700 |
---|---|---|
committer | Vignesh Venkatasubramanian <vigneshv@google.com> | 2014-03-26 15:13:32 -0700 |
commit | 2ec72e65689c948e92b826ae1e867bf369e72f13 (patch) | |
tree | 09d08252ba727c6c2e090222ea15ccc3b143301a /libvpx/vpx/vp8cx.h | |
parent | 9b35249446b07f40ac5fcc3205f2c048616efacc (diff) | |
download | android_external_libvpx-2ec72e65689c948e92b826ae1e867bf369e72f13.tar.gz android_external_libvpx-2ec72e65689c948e92b826ae1e867bf369e72f13.tar.bz2 android_external_libvpx-2ec72e65689c948e92b826ae1e867bf369e72f13.zip |
libvpx: Roll latest libvpx
Pulling changes related to fixing a rare bitstream issue on video upscaling.
Also enables VP9 encoder. This is exactly the same as the roll that is
already in master.
Upstream Hash: 8e9c9f118cda45013f14cce7961dcc8df78ffebf
Change-Id: Iba9bb1c1804462014deab20fa6f4c5e4c55a778e
Diffstat (limited to 'libvpx/vpx/vp8cx.h')
-rw-r--r-- | libvpx/vpx/vp8cx.h | 39 |
1 files changed, 30 insertions, 9 deletions
diff --git a/libvpx/vpx/vp8cx.h b/libvpx/vpx/vp8cx.h index 433cc0d..0b637d4 100644 --- a/libvpx/vpx/vp8cx.h +++ b/libvpx/vpx/vp8cx.h @@ -7,15 +7,15 @@ * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ -#ifndef VP8CX_H -#define VP8CX_H +#ifndef VPX_VP8CX_H_ +#define VPX_VP8CX_H_ /*!\defgroup vp8_encoder WebM VP8 Encoder * \ingroup vp8 * * @{ */ -#include "vp8.h" +#include "./vp8.h" /*!\file * \brief Provides definitions for using the VP8 encoder algorithm within the @@ -38,8 +38,6 @@ extern vpx_codec_iface_t *vpx_codec_vp8_cx(void); /* TODO(jkoleszar): These move to VP9 in a later patch set. */ extern vpx_codec_iface_t vpx_codec_vp9_cx_algo; extern vpx_codec_iface_t *vpx_codec_vp9_cx(void); -extern vpx_codec_iface_t vpx_codec_vp9x_cx_algo; -extern vpx_codec_iface_t *vpx_codec_vp9x_cx(void); /*!@} - end algorithm interface member group*/ @@ -193,9 +191,16 @@ enum vp8e_enc_control_id { VP9E_SET_TILE_COLUMNS, VP9E_SET_TILE_ROWS, VP9E_SET_FRAME_PARALLEL_DECODING, + VP9E_SET_AQ_MODE, VP9E_SET_SVC, - VP9E_SET_SVC_PARAMETERS + VP9E_SET_SVC_PARAMETERS, + /*!\brief control function to set svc layer for spatial and temporal. + * \note Valid ranges: 0..#vpx_codec_enc_cfg::ss_number_layers for spatial + * layer and 0..#vpx_codec_enc_cfg::ts_number_layers for + * temporal layer. + */ + VP9E_SET_SVC_LAYER_ID }; /*!\brief vpx 1-D scaling mode @@ -256,7 +261,7 @@ typedef struct vpx_scaling_mode { /*!\brief VP8 token partition mode * * This defines VP8 partitioning mode for compressed data, i.e., the number of - * sub-streams in the bitstream. Used for parallelized decoding. + * sub-streams in the bitstream. Used for parallelized decoding. * */ @@ -286,7 +291,8 @@ typedef enum { typedef struct vpx_svc_parameters { unsigned int width; /**< width of current spatial layer */ unsigned int height; /**< height of current spatial layer */ - int layer; /**< current layer number - 0 = base */ + int spatial_layer; /**< current spatial layer number - 0 = base */ + int temporal_layer; /**< current temporal layer number - 0 = base */ int flags; /**< encode frame flags */ int max_quantizer; /**< max quantizer for current layer */ int min_quantizer; /**< min quantizer for current layer */ @@ -296,6 +302,18 @@ typedef struct vpx_svc_parameters { int alt_fb_idx; /**< alt reference frame frame buffer index */ } vpx_svc_parameters_t; +/*!\brief vp9 svc layer parameters + * + * This defines the spatial and temporal layer id numbers for svc encoding. + * This is used with the #VP9E_SET_SVC_LAYER_ID control to set the spatial and + * temporal layer id for the current frame. + * + */ +typedef struct vpx_svc_layer_id { + int spatial_layer_id; /**< Spatial layer id number. */ + int temporal_layer_id; /**< Temporal layer id number. */ +} vpx_svc_layer_id_t; + /*!\brief VP8 encoder control function parameter type * * Defines the data types that VP8E control functions take. Note that @@ -317,6 +335,7 @@ VPX_CTRL_USE_TYPE(VP8E_SET_SCALEMODE, vpx_scaling_mode_t *) VPX_CTRL_USE_TYPE(VP9E_SET_SVC, int) VPX_CTRL_USE_TYPE(VP9E_SET_SVC_PARAMETERS, vpx_svc_parameters_t *) +VPX_CTRL_USE_TYPE(VP9E_SET_SVC_LAYER_ID, vpx_svc_layer_id_t *) VPX_CTRL_USE_TYPE(VP8E_SET_CPUUSED, int) VPX_CTRL_USE_TYPE(VP8E_SET_ENABLEAUTOALTREF, unsigned int) @@ -343,9 +362,11 @@ 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_AQ_MODE, unsigned int) + /*! @} - end defgroup vp8_encoder */ #ifdef __cplusplus } // extern "C" #endif -#endif +#endif // VPX_VP8CX_H_ |