int pick_intra_filter(int angle);
#endif // CONFIG_EXT_INTRA
+#if CONFIG_EXT_TILE
+#define FIXED_TX_TYPE 1
+#else
#define FIXED_TX_TYPE 0
+#endif
static INLINE TX_TYPE get_default_tx_type(PLANE_TYPE plane_type,
const MACROBLOCKD *xd,
swap_frame_buffers(pbi);
- vpx_extend_frame_inner_borders(cm->frame_to_show);
+#if CONFIG_EXT_TILE
+ // For now, we only extend the frame borders when the whole frame is decoded.
+ // Later, if needed, extend the border for the decoded tile on the frame
+ // border.
+ if (pbi->dec_tile_row == -1 && pbi->dec_tile_col == -1)
+#endif // CONFIG_EXT_TILE
+ vpx_extend_frame_inner_borders(cm->frame_to_show);
vpx_clear_system_state();
sf->disable_filter_search_var_thresh = 0;
sf->adaptive_interp_filter_search = 0;
sf->allow_partition_search_skip = 0;
-#if CONFIG_EXT_REFS
+#if CONFIG_EXT_REFS || CONFIG_EXT_TILE
sf->use_upsampled_references = 0;
#else
sf->use_upsampled_references = 1;
sf->simple_model_rd_from_var = 0;
// Set this at the appropriate speed levels
+#if CONFIG_EXT_TILE
+ sf->use_transform_domain_distortion = 1;
+#else
sf->use_transform_domain_distortion = 0;
+#endif
if (oxcf->mode == REALTIME)
set_rt_speed_feature(cpi, sf, oxcf->speed, oxcf->content);
}
}
+static vpx_codec_err_t ctrl_use_reference(vpx_codec_alg_priv_t *ctx,
+ va_list args) {
+ const int reference_flag = va_arg(args, int);
+
+ vp10_use_as_reference(ctx->cpi, reference_flag);
+ return VPX_CODEC_OK;
+}
+
static vpx_codec_err_t ctrl_set_roi_map(vpx_codec_alg_priv_t *ctx,
va_list args) {
(void)ctx;
static vpx_codec_ctrl_fn_map_t encoder_ctrl_maps[] = {
{VP8_COPY_REFERENCE, ctrl_copy_reference},
+ {VP8E_USE_REFERENCE, ctrl_use_reference},
// Setters
{VP8_SET_REFERENCE, ctrl_set_reference},
* \sa #vpx_codec_control
*/
enum vp8e_enc_control_id {
+ /*!\brief Codec control function to set which reference frame encoder can use.
+ *
+ * Supported in codecs: VP8, VP9
+ */
+ VP8E_USE_REFERENCE = 7,
+
/*!\brief Codec control function to pass an ROI map to encoder.
*
* Supported in codecs: VP8, VP9
*
*/
+VPX_CTRL_USE_TYPE_DEPRECATED(VP8E_USE_REFERENCE, int)
+#define VPX_CTRL_VP8E_USE_REFERENCE
VPX_CTRL_USE_TYPE(VP8E_SET_FRAME_FLAGS, int)
#define VPX_CTRL_VP8E_SET_FRAME_FLAGS
VPX_CTRL_USE_TYPE(VP8E_SET_TEMPORAL_LAYER_ID, int)