mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-30 19:17:31 +09:00
Update libaom to commit ID 1e227d41f0616de9548a673a83a21ef990b62591
This commit is contained in:
parent
77c9089b7d
commit
368651059a
526 changed files with 34535 additions and 15900 deletions
53
third_party/aom/av1/common/blockd.h
vendored
53
third_party/aom/av1/common/blockd.h
vendored
|
|
@ -9,8 +9,8 @@
|
|||
* PATENTS file, you can obtain it at www.aomedia.org/license/patent.
|
||||
*/
|
||||
|
||||
#ifndef AV1_COMMON_BLOCKD_H_
|
||||
#define AV1_COMMON_BLOCKD_H_
|
||||
#ifndef AOM_AV1_COMMON_BLOCKD_H_
|
||||
#define AOM_AV1_COMMON_BLOCKD_H_
|
||||
|
||||
#include "config/aom_config.h"
|
||||
|
||||
|
|
@ -38,13 +38,13 @@ extern "C" {
|
|||
#define MAX_DIFFWTD_MASK_BITS 1
|
||||
|
||||
// DIFFWTD_MASK_TYPES should not surpass 1 << MAX_DIFFWTD_MASK_BITS
|
||||
typedef enum {
|
||||
typedef enum ATTRIBUTE_PACKED {
|
||||
DIFFWTD_38 = 0,
|
||||
DIFFWTD_38_INV,
|
||||
DIFFWTD_MASK_TYPES,
|
||||
} DIFFWTD_MASK_TYPE;
|
||||
|
||||
typedef enum {
|
||||
typedef enum ATTRIBUTE_PACKED {
|
||||
KEY_FRAME = 0,
|
||||
INTER_FRAME = 1,
|
||||
INTRA_ONLY_FRAME = 2, // replaces intra-only
|
||||
|
|
@ -57,7 +57,7 @@ static INLINE int is_comp_ref_allowed(BLOCK_SIZE bsize) {
|
|||
}
|
||||
|
||||
static INLINE int is_inter_mode(PREDICTION_MODE mode) {
|
||||
return mode >= NEARESTMV && mode <= NEW_NEWMV;
|
||||
return mode >= INTER_MODE_START && mode < INTER_MODE_END;
|
||||
}
|
||||
|
||||
typedef struct {
|
||||
|
|
@ -66,10 +66,10 @@ typedef struct {
|
|||
} BUFFER_SET;
|
||||
|
||||
static INLINE int is_inter_singleref_mode(PREDICTION_MODE mode) {
|
||||
return mode >= NEARESTMV && mode <= NEWMV;
|
||||
return mode >= SINGLE_INTER_MODE_START && mode < SINGLE_INTER_MODE_END;
|
||||
}
|
||||
static INLINE int is_inter_compound_mode(PREDICTION_MODE mode) {
|
||||
return mode >= NEAREST_NEARESTMV && mode <= NEW_NEWMV;
|
||||
return mode >= COMP_INTER_MODE_START && mode < COMP_INTER_MODE_END;
|
||||
}
|
||||
|
||||
static INLINE PREDICTION_MODE compound_ref0_mode(PREDICTION_MODE mode) {
|
||||
|
|
@ -148,10 +148,6 @@ static INLINE int have_newmv_in_inter_mode(PREDICTION_MODE mode) {
|
|||
mode == NEW_NEARESTMV || mode == NEAR_NEWMV || mode == NEW_NEARMV);
|
||||
}
|
||||
|
||||
static INLINE int use_masked_motion_search(COMPOUND_TYPE type) {
|
||||
return (type == COMPOUND_WEDGE);
|
||||
}
|
||||
|
||||
static INLINE int is_masked_compound_type(COMPOUND_TYPE type) {
|
||||
return (type == COMPOUND_WEDGE || type == COMPOUND_DIFFWTD);
|
||||
}
|
||||
|
|
@ -267,8 +263,8 @@ typedef struct MB_MODE_INFO {
|
|||
int mi_row;
|
||||
int mi_col;
|
||||
#endif
|
||||
int num_proj_ref[2];
|
||||
WarpedMotionParams wm_params[2];
|
||||
int num_proj_ref;
|
||||
WarpedMotionParams wm_params;
|
||||
|
||||
// Index of the alpha Cb and alpha Cr combination
|
||||
int cfl_alpha_idx;
|
||||
|
|
@ -376,7 +372,7 @@ static INLINE void mi_to_pixel_loc(int *pixel_c, int *pixel_r, int mi_col,
|
|||
}
|
||||
#endif
|
||||
|
||||
enum mv_precision { MV_PRECISION_Q3, MV_PRECISION_Q4 };
|
||||
enum ATTRIBUTE_PACKED mv_precision { MV_PRECISION_Q3, MV_PRECISION_Q4 };
|
||||
|
||||
struct buf_2d {
|
||||
uint8_t *buf;
|
||||
|
|
@ -500,6 +496,8 @@ typedef struct jnt_comp_params {
|
|||
int bck_offset;
|
||||
} JNT_COMP_PARAMS;
|
||||
|
||||
// Most/all of the pointers are mere pointers to actual arrays are allocated
|
||||
// elsewhere. This is mostly for coding convenience.
|
||||
typedef struct macroblockd {
|
||||
struct macroblockd_plane plane[MAX_MB_PLANE];
|
||||
|
||||
|
|
@ -544,7 +542,7 @@ typedef struct macroblockd {
|
|||
SgrprojInfo sgrproj_info[MAX_MB_PLANE];
|
||||
|
||||
// block dimension in the unit of mode_info.
|
||||
uint8_t n8_w, n8_h;
|
||||
uint8_t n4_w, n4_h;
|
||||
|
||||
uint8_t ref_mv_count[MODE_CTX_REF_FRAMES];
|
||||
CANDIDATE_MV ref_mv_stack[MODE_CTX_REF_FRAMES][MAX_REF_MV_STACK_SIZE];
|
||||
|
|
@ -599,6 +597,9 @@ typedef struct macroblockd {
|
|||
uint16_t cb_offset[MAX_MB_PLANE];
|
||||
uint16_t txb_offset[MAX_MB_PLANE];
|
||||
uint16_t color_index_map_offset[2];
|
||||
|
||||
CONV_BUF_TYPE *tmp_conv_dst;
|
||||
uint8_t *tmp_obmc_bufs[2];
|
||||
} MACROBLOCKD;
|
||||
|
||||
static INLINE int get_bitdepth_data_path_index(const MACROBLOCKD *xd) {
|
||||
|
|
@ -623,6 +624,11 @@ static INLINE int get_sqr_bsize_idx(BLOCK_SIZE bsize) {
|
|||
}
|
||||
}
|
||||
|
||||
// For a square block size 'bsize', returns the size of the sub-blocks used by
|
||||
// the given partition type. If the partition produces sub-blocks of different
|
||||
// sizes, then the function returns the largest sub-block size.
|
||||
// Implements the Partition_Subsize lookup table in the spec (Section 9.3.
|
||||
// Conversion tables).
|
||||
// Note: the input block size should be square.
|
||||
// Otherwise it's considered invalid.
|
||||
static INLINE BLOCK_SIZE get_partition_subsize(BLOCK_SIZE bsize,
|
||||
|
|
@ -781,6 +787,8 @@ static INLINE TX_TYPE get_default_tx_type(PLANE_TYPE plane_type,
|
|||
return intra_mode_to_tx_type(mbmi, plane_type);
|
||||
}
|
||||
|
||||
// Implements the get_plane_residual_size() function in the spec (Section
|
||||
// 5.11.38. Get plane residual size function).
|
||||
static INLINE BLOCK_SIZE get_plane_block_size(BLOCK_SIZE bsize,
|
||||
int subsampling_x,
|
||||
int subsampling_y) {
|
||||
|
|
@ -952,15 +960,6 @@ typedef void (*foreach_transformed_block_visitor)(int plane, int block,
|
|||
BLOCK_SIZE plane_bsize,
|
||||
TX_SIZE tx_size, void *arg);
|
||||
|
||||
void av1_foreach_transformed_block_in_plane(
|
||||
const MACROBLOCKD *const xd, BLOCK_SIZE bsize, int plane,
|
||||
foreach_transformed_block_visitor visit, void *arg);
|
||||
|
||||
void av1_foreach_transformed_block(const MACROBLOCKD *const xd,
|
||||
BLOCK_SIZE bsize, int mi_row, int mi_col,
|
||||
foreach_transformed_block_visitor visit,
|
||||
void *arg, const int num_planes);
|
||||
|
||||
void av1_set_contexts(const MACROBLOCKD *xd, struct macroblockd_plane *pd,
|
||||
int plane, BLOCK_SIZE plane_bsize, TX_SIZE tx_size,
|
||||
int has_eob, int aoff, int loff);
|
||||
|
|
@ -976,7 +975,7 @@ static INLINE int is_interintra_allowed_bsize(const BLOCK_SIZE bsize) {
|
|||
}
|
||||
|
||||
static INLINE int is_interintra_allowed_mode(const PREDICTION_MODE mode) {
|
||||
return (mode >= NEARESTMV) && (mode <= NEWMV);
|
||||
return (mode >= SINGLE_INTER_MODE_START) && (mode < SINGLE_INTER_MODE_END);
|
||||
}
|
||||
|
||||
static INLINE int is_interintra_allowed_ref(const MV_REFERENCE_FRAME rf[2]) {
|
||||
|
|
@ -1045,7 +1044,7 @@ motion_mode_allowed(const WarpedMotionParams *gm_params, const MACROBLOCKD *xd,
|
|||
is_motion_variation_allowed_compound(mbmi)) {
|
||||
if (!check_num_overlappable_neighbors(mbmi)) return SIMPLE_TRANSLATION;
|
||||
assert(!has_second_ref(mbmi));
|
||||
if (mbmi->num_proj_ref[0] >= 1 &&
|
||||
if (mbmi->num_proj_ref >= 1 &&
|
||||
(allow_warped_motion && !av1_is_scaled(&(xd->block_refs[0]->sf)))) {
|
||||
if (xd->cur_frame_force_integer_mv) {
|
||||
return OBMC_CAUSAL;
|
||||
|
|
@ -1174,4 +1173,4 @@ static INLINE int av1_get_max_eob(TX_SIZE tx_size) {
|
|||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // AV1_COMMON_BLOCKD_H_
|
||||
#endif // AOM_AV1_COMMON_BLOCKD_H_
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue