mirror of
https://github.com/ultravideo/uvg266.git
synced 2024-11-23 18:14:06 +00:00
[mtt] Check that we are inside the CTU before checking the ctu data
This commit is contained in:
parent
facbc794bf
commit
23e6b9f56c
8
src/cu.c
8
src/cu.c
|
@ -499,12 +499,12 @@ int uvg_count_available_edge_cus(const cu_loc_t* const cu_loc, const lcu_t* cons
|
||||||
int amount = 0;
|
int amount = 0;
|
||||||
if(left) {
|
if(left) {
|
||||||
if (cu_loc->local_y == 0 && cu_loc->local_x == 32 && cu_loc->height == 32 && cu_loc->width == 32) return 8;
|
if (cu_loc->local_y == 0 && cu_loc->local_x == 32 && cu_loc->height == 32 && cu_loc->width == 32) return 8;
|
||||||
while (LCU_GET_CU_AT_PX(lcu, cu_loc->local_x - TR_MIN_WIDTH, cu_loc->local_y + amount)->type != CU_NOTSET && (cu_loc->local_y + amount) < LCU_WIDTH) {
|
while (cu_loc->local_y + amount < LCU_WIDTH && LCU_GET_CU_AT_PX(lcu, cu_loc->local_x - TR_MIN_WIDTH, cu_loc->local_y + amount)->type != CU_NOTSET) {
|
||||||
amount += TR_MIN_WIDTH;
|
amount += TR_MIN_WIDTH;
|
||||||
}
|
}
|
||||||
return MAX(amount / TR_MIN_WIDTH, cu_loc->height / TR_MIN_WIDTH);
|
return MAX(amount / TR_MIN_WIDTH, cu_loc->height / TR_MIN_WIDTH);
|
||||||
}
|
}
|
||||||
while (LCU_GET_CU_AT_PX(lcu, cu_loc->local_x + amount, cu_loc->local_y - TR_MIN_WIDTH)->type != CU_NOTSET && cu_loc->local_x + amount < LCU_WIDTH) {
|
while (cu_loc->local_x + amount < LCU_WIDTH && LCU_GET_CU_AT_PX(lcu, cu_loc->local_x + amount, cu_loc->local_y - TR_MIN_WIDTH)->type != CU_NOTSET) {
|
||||||
amount += TR_MIN_WIDTH;
|
amount += TR_MIN_WIDTH;
|
||||||
}
|
}
|
||||||
return MAX(amount / TR_MIN_WIDTH, cu_loc->width / TR_MIN_WIDTH);
|
return MAX(amount / TR_MIN_WIDTH, cu_loc->width / TR_MIN_WIDTH);
|
||||||
|
@ -520,12 +520,12 @@ int uvg_count_chroma_tree_available_edge_cus(int x, int y, int width, int height
|
||||||
|
|
||||||
int amount = 0;
|
int amount = 0;
|
||||||
if(left) {
|
if(left) {
|
||||||
while (LCU_GET_CU_AT_PX(lcu, local_x - TR_MIN_WIDTH, local_y + amount)->type != CU_NOTSET && (local_y + amount) < LCU_WIDTH_C) {
|
while (local_y + amount < LCU_WIDTH_C && LCU_GET_CU_AT_PX(lcu, local_x - TR_MIN_WIDTH, local_y + amount)->type != CU_NOTSET) {
|
||||||
amount += TR_MIN_WIDTH;
|
amount += TR_MIN_WIDTH;
|
||||||
}
|
}
|
||||||
return MAX(amount / TR_MIN_WIDTH, height / TR_MIN_WIDTH);
|
return MAX(amount / TR_MIN_WIDTH, height / TR_MIN_WIDTH);
|
||||||
}
|
}
|
||||||
while (LCU_GET_CU_AT_PX(lcu, local_x + amount, local_y - TR_MIN_WIDTH)->type != CU_NOTSET && local_x + amount < LCU_WIDTH_C) {
|
while (local_x + amount < LCU_WIDTH_C && LCU_GET_CU_AT_PX(lcu, local_x + amount, local_y - TR_MIN_WIDTH)->type != CU_NOTSET) {
|
||||||
amount += TR_MIN_WIDTH;
|
amount += TR_MIN_WIDTH;
|
||||||
}
|
}
|
||||||
return MAX(amount / TR_MIN_WIDTH, width / TR_MIN_WIDTH);
|
return MAX(amount / TR_MIN_WIDTH, width / TR_MIN_WIDTH);
|
||||||
|
|
Loading…
Reference in a new issue