blob: fb13cd2380497c14782e549b5108eae7fec299d4 [file] [log] [blame]
/*
* Copyright 2020 Google LLC
*
*/
/*
* Copyright (c) 2020, Alliance for Open Media. All rights reserved
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file, you can
* obtain it at www.aomedia.org/license/software. If the Alliance for Open
* Media Patent License 1.0 was not distributed with this source code in the
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
*/
struct INTERINTER_COMPOUND_DATA {
int type;
int mask_type;
int wedge_index;
int wedge_sign;
};
struct WarpedMotionParams {
int4 mat[2];
int2 angles;
int type;
};
struct PALETTE_MODE_INFO {
int colors[12]; // TODO remove this?
uint sizes;
};
struct MB_MODE_INFO {
PALETTE_MODE_INFO palette_mode_info;
WarpedMotionParams wm_params;
INTERINTER_COMPOUND_DATA interinter_comp;
uint filter_intra_mode_info;
int mv[2];
uint interp_filters;
// TODO(debargha): Consolidate these flags
int interintra_wedge_index;
int interintra_wedge_sign;
int current_qindex;
int delta_lf_from_base;
int delta_lf[4];
int mi_row;
int mi_col;
uint index_base;
int num_proj_ref;
// Index of the alpha Cb and alpha Cr combination
int cfl_alpha_idx;
// Joint sign of alpha Cb and alpha Cr
int cfl_alpha_signs;
uint comp_idx;
uint block_type;
uint modes;
// uint txk_type[16];
uint intra_mode_flags;
uint tx_info;
uint inter_tx_size[4];
uint seg_cdef_flags;
}; // sizeof(MB_MODE_INFO)==224
#define ModeInfoSize 224