mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-30 11:07:29 +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
43
third_party/aom/av1/common/mvref_common.h
vendored
43
third_party/aom/av1/common/mvref_common.h
vendored
|
|
@ -8,8 +8,8 @@
|
|||
* 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.
|
||||
*/
|
||||
#ifndef AV1_COMMON_MVREF_COMMON_H_
|
||||
#define AV1_COMMON_MVREF_COMMON_H_
|
||||
#ifndef AOM_AV1_COMMON_MVREF_COMMON_H_
|
||||
#define AOM_AV1_COMMON_MVREF_COMMON_H_
|
||||
|
||||
#include "av1/common/onyxc_int.h"
|
||||
#include "av1/common/blockd.h"
|
||||
|
|
@ -85,29 +85,17 @@ static INLINE int_mv scale_mv(const MB_MODE_INFO *mbmi, int ref,
|
|||
// Checks that the given mi_row, mi_col and search point
|
||||
// are inside the borders of the tile.
|
||||
static INLINE int is_inside(const TileInfo *const tile, int mi_col, int mi_row,
|
||||
int mi_rows, const POSITION *mi_pos) {
|
||||
const int dependent_horz_tile_flag = 0;
|
||||
if (dependent_horz_tile_flag && !tile->tg_horz_boundary) {
|
||||
return !(mi_row + mi_pos->row < 0 ||
|
||||
mi_col + mi_pos->col < tile->mi_col_start ||
|
||||
mi_row + mi_pos->row >= mi_rows ||
|
||||
mi_col + mi_pos->col >= tile->mi_col_end);
|
||||
} else {
|
||||
return !(mi_row + mi_pos->row < tile->mi_row_start ||
|
||||
mi_col + mi_pos->col < tile->mi_col_start ||
|
||||
mi_row + mi_pos->row >= tile->mi_row_end ||
|
||||
mi_col + mi_pos->col >= tile->mi_col_end);
|
||||
}
|
||||
const POSITION *mi_pos) {
|
||||
return !(mi_row + mi_pos->row < tile->mi_row_start ||
|
||||
mi_col + mi_pos->col < tile->mi_col_start ||
|
||||
mi_row + mi_pos->row >= tile->mi_row_end ||
|
||||
mi_col + mi_pos->col >= tile->mi_col_end);
|
||||
}
|
||||
|
||||
static INLINE int find_valid_row_offset(const TileInfo *const tile, int mi_row,
|
||||
int mi_rows, int row_offset) {
|
||||
const int dependent_horz_tile_flag = 0;
|
||||
if (dependent_horz_tile_flag && !tile->tg_horz_boundary)
|
||||
return clamp(row_offset, -mi_row, mi_rows - mi_row - 1);
|
||||
else
|
||||
return clamp(row_offset, tile->mi_row_start - mi_row,
|
||||
tile->mi_row_end - mi_row - 1);
|
||||
int row_offset) {
|
||||
return clamp(row_offset, tile->mi_row_start - mi_row,
|
||||
tile->mi_row_end - mi_row - 1);
|
||||
}
|
||||
|
||||
static INLINE int find_valid_col_offset(const TileInfo *const tile, int mi_col,
|
||||
|
|
@ -263,8 +251,9 @@ static INLINE void av1_collect_neighbors_ref_counts(MACROBLOCKD *const xd) {
|
|||
}
|
||||
}
|
||||
|
||||
void av1_copy_frame_mvs(const AV1_COMMON *const cm, MB_MODE_INFO *mi,
|
||||
int mi_row, int mi_col, int x_mis, int y_mis);
|
||||
void av1_copy_frame_mvs(const AV1_COMMON *const cm,
|
||||
const MB_MODE_INFO *const mi, int mi_row, int mi_col,
|
||||
int x_mis, int y_mis);
|
||||
|
||||
void av1_find_mv_refs(const AV1_COMMON *cm, const MACROBLOCKD *xd,
|
||||
MB_MODE_INFO *mi, MV_REFERENCE_FRAME ref_frame,
|
||||
|
|
@ -286,7 +275,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
|
|||
|
||||
#define INTRABC_DELAY_PIXELS 256 // Delay of 256 pixels
|
||||
#define INTRABC_DELAY_SB64 (INTRABC_DELAY_PIXELS / 64)
|
||||
#define USE_WAVE_FRONT 1 // Use only top left area of frame for reference.
|
||||
|
||||
static INLINE void av1_find_ref_dv(int_mv *ref_dv, const TileInfo *const tile,
|
||||
int mib_size, int mi_row, int mi_col) {
|
||||
|
|
@ -356,13 +344,12 @@ static INLINE int av1_is_dv_valid(const MV dv, const AV1_COMMON *cm,
|
|||
const int src_sb64 = src_sb_row * total_sb64_per_row + src_sb64_col;
|
||||
if (src_sb64 >= active_sb64 - INTRABC_DELAY_SB64) return 0;
|
||||
|
||||
#if USE_WAVE_FRONT
|
||||
// Wavefront constraint: use only top left area of frame for reference.
|
||||
const int gradient = 1 + INTRABC_DELAY_SB64 + (sb_size > 64);
|
||||
const int wf_offset = gradient * (active_sb_row - src_sb_row);
|
||||
if (src_sb_row > active_sb_row ||
|
||||
src_sb64_col >= active_sb64_col - INTRABC_DELAY_SB64 + wf_offset)
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
|
@ -371,4 +358,4 @@ static INLINE int av1_is_dv_valid(const MV dv, const AV1_COMMON *cm,
|
|||
} // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // AV1_COMMON_MVREF_COMMON_H_
|
||||
#endif // AOM_AV1_COMMON_MVREF_COMMON_H_
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue