Commit 648f93d5 authored by John Koleszar's avatar John Koleszar Committed by Gerrit Code Review
Browse files

Merge "Convert inv_tile_order to control interface" into experimental

parents 7060476a 672b75a1
...@@ -32,10 +32,9 @@ class TileIndependenceTest : public ::libvpx_test::EncoderTest, ...@@ -32,10 +32,9 @@ class TileIndependenceTest : public ::libvpx_test::EncoderTest,
cfg.w = 704; cfg.w = 704;
cfg.h = 144; cfg.h = 144;
cfg.threads = 1; cfg.threads = 1;
cfg.inv_tile_order = 0;
fw_dec_ = codec_->CreateDecoder(cfg, 0); fw_dec_ = codec_->CreateDecoder(cfg, 0);
cfg.inv_tile_order = 1;
inv_dec_ = codec_->CreateDecoder(cfg, 0); inv_dec_ = codec_->CreateDecoder(cfg, 0);
inv_dec_->Control(VP9_INVERT_TILE_DECODE_ORDER, 1);
} }
virtual ~TileIndependenceTest() { virtual ~TileIndependenceTest() {
......
...@@ -64,6 +64,7 @@ struct vpx_codec_alg_priv { ...@@ -64,6 +64,7 @@ struct vpx_codec_alg_priv {
vpx_image_t img; vpx_image_t img;
int img_setup; int img_setup;
int img_avail; int img_avail;
int invert_tile_order;
}; };
static unsigned long vp8_priv_sz(const vpx_codec_dec_cfg_t *si, static unsigned long vp8_priv_sz(const vpx_codec_dec_cfg_t *si,
...@@ -333,7 +334,7 @@ static vpx_codec_err_t decode_one(vpx_codec_alg_priv_t *ctx, ...@@ -333,7 +334,7 @@ static vpx_codec_err_t decode_one(vpx_codec_alg_priv_t *ctx,
oxcf.Version = 9; oxcf.Version = 9;
oxcf.postprocess = 0; oxcf.postprocess = 0;
oxcf.max_threads = ctx->cfg.threads; oxcf.max_threads = ctx->cfg.threads;
oxcf.inv_tile_order = ctx->cfg.inv_tile_order; oxcf.inv_tile_order = ctx->invert_tile_order;
optr = vp9_create_decompressor(&oxcf); optr = vp9_create_decompressor(&oxcf);
/* If postprocessing was enabled by the application and a /* If postprocessing was enabled by the application and a
...@@ -726,6 +727,13 @@ static vpx_codec_err_t vp8_get_frame_corrupted(vpx_codec_alg_priv_t *ctx, ...@@ -726,6 +727,13 @@ static vpx_codec_err_t vp8_get_frame_corrupted(vpx_codec_alg_priv_t *ctx,
} }
static vpx_codec_err_t set_invert_tile_order(vpx_codec_alg_priv_t *ctx,
int ctr_id,
va_list args) {
ctx->invert_tile_order = va_arg(args, int);
return VPX_CODEC_OK;
}
static vpx_codec_ctrl_fn_map_t ctf_maps[] = { static vpx_codec_ctrl_fn_map_t ctf_maps[] = {
{VP8_SET_REFERENCE, vp9_set_reference}, {VP8_SET_REFERENCE, vp9_set_reference},
{VP8_COPY_REFERENCE, vp9_copy_reference}, {VP8_COPY_REFERENCE, vp9_copy_reference},
...@@ -737,6 +745,7 @@ static vpx_codec_ctrl_fn_map_t ctf_maps[] = { ...@@ -737,6 +745,7 @@ static vpx_codec_ctrl_fn_map_t ctf_maps[] = {
{VP8D_GET_LAST_REF_UPDATES, vp8_get_last_ref_updates}, {VP8D_GET_LAST_REF_UPDATES, vp8_get_last_ref_updates},
{VP8D_GET_FRAME_CORRUPTED, vp8_get_frame_corrupted}, {VP8D_GET_FRAME_CORRUPTED, vp8_get_frame_corrupted},
{VP9_GET_REFERENCE, get_reference}, {VP9_GET_REFERENCE, get_reference},
{VP9_INVERT_TILE_DECODE_ORDER, set_invert_tile_order},
{ -1, NULL}, { -1, NULL},
}; };
......
...@@ -69,6 +69,9 @@ enum vp8_dec_control_id { ...@@ -69,6 +69,9 @@ enum vp8_dec_control_id {
*/ */
VP8_SET_DECRYPT_KEY, VP8_SET_DECRYPT_KEY,
/** For testing. */
VP9_INVERT_TILE_DECODE_ORDER,
VP8_DECODER_CTRL_ID_MAX VP8_DECODER_CTRL_ID_MAX
}; };
...@@ -85,6 +88,7 @@ VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_UPDATES, int *) ...@@ -85,6 +88,7 @@ VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_UPDATES, int *)
VPX_CTRL_USE_TYPE(VP8D_GET_FRAME_CORRUPTED, int *) VPX_CTRL_USE_TYPE(VP8D_GET_FRAME_CORRUPTED, int *)
VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_USED, int *) VPX_CTRL_USE_TYPE(VP8D_GET_LAST_REF_USED, int *)
VPX_CTRL_USE_TYPE(VP8_SET_DECRYPT_KEY, const unsigned char *) VPX_CTRL_USE_TYPE(VP8_SET_DECRYPT_KEY, const unsigned char *)
VPX_CTRL_USE_TYPE(VP9_INVERT_TILE_DECODE_ORDER, int)
/*! @} - end defgroup vp8_decoder */ /*! @} - end defgroup vp8_decoder */
......
...@@ -106,7 +106,6 @@ extern "C" { ...@@ -106,7 +106,6 @@ extern "C" {
unsigned int threads; /**< Maximum number of threads to use, default 1 */ unsigned int threads; /**< Maximum number of threads to use, default 1 */
unsigned int w; /**< Width */ unsigned int w; /**< Width */
unsigned int h; /**< Height */ unsigned int h; /**< Height */
int inv_tile_order; /**< Invert tile decoding order, default 0 */
} vpx_codec_dec_cfg_t; /**< alias for struct vpx_codec_dec_cfg */ } vpx_codec_dec_cfg_t; /**< alias for struct vpx_codec_dec_cfg */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment