Remove check for identical neighboring mv field in WARPED_MOTION
This will allow us decode motion mode without knowing motion vectors in the neighborhood. Improves the performance by 0.3% (1.1->1.4) Change-Id: Ie18ee2b02b1d2f89615bc8fa423beb1f9bd9a678
This commit is contained in:
Родитель
5f5c132fef
Коммит
dd6e402a3a
|
@ -1104,8 +1104,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
|
|||
int up_available = xd->up_available;
|
||||
int left_available = xd->left_available;
|
||||
int i, mi_step, np = 0;
|
||||
int mvasint[100];
|
||||
int mvnumber = 0;
|
||||
int global_offset_c = mi_col * MI_SIZE;
|
||||
int global_offset_r = mi_row * MI_SIZE;
|
||||
|
||||
|
@ -1128,9 +1126,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
|
|||
int j;
|
||||
int pixelperblock = SAMPLES_PER_NEIGHBOR;
|
||||
|
||||
mvasint[mvnumber] = mbmi->mv[0].as_int;
|
||||
mvnumber++;
|
||||
|
||||
for (j = 0; j < pixelperblock; j++) {
|
||||
int x = cc_offset + j % 2 + global_offset_c;
|
||||
int y = cr_offset + j / 2 + global_offset_r;
|
||||
|
@ -1171,9 +1166,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
|
|||
int j;
|
||||
int pixelperblock = SAMPLES_PER_NEIGHBOR;
|
||||
|
||||
mvasint[mvnumber] = mbmi->mv[0].as_int;
|
||||
mvnumber++;
|
||||
|
||||
for (j = 0; j < pixelperblock; j++) {
|
||||
int x = cc_offset + j % 2 + global_offset_c;
|
||||
int y = cr_offset + j / 2 + global_offset_r;
|
||||
|
@ -1210,9 +1202,6 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
|
|||
int j;
|
||||
int pixelperblock = SAMPLES_PER_NEIGHBOR;
|
||||
|
||||
mvasint[mvnumber] = mbmi->mv[0].as_int;
|
||||
mvnumber++;
|
||||
|
||||
for (j = 0; j < pixelperblock; j++) {
|
||||
int x = cc_offset + j % 2 + global_offset_c;
|
||||
int y = cr_offset + j / 2 + global_offset_r;
|
||||
|
@ -1233,11 +1222,7 @@ int findSamples(const AV1_COMMON *cm, MACROBLOCKD *xd, int mi_row, int mi_col,
|
|||
}
|
||||
assert(2 * np <= SAMPLES_ARRAY_SIZE);
|
||||
|
||||
for (i = 0; i < (mvnumber - 1); ++i) {
|
||||
if (mvasint[i] != mvasint[i + 1]) break;
|
||||
}
|
||||
|
||||
if (np == 0 || i == (mvnumber - 1)) {
|
||||
if (np == 0) {
|
||||
return 0;
|
||||
} else {
|
||||
MODE_INFO *mi = xd->mi[0];
|
||||
|
|
Загрузка…
Ссылка в новой задаче