Rework the level map based txb encoding loop

This commit integrates the level map coding within cb4x4 framework.

Change-Id: Ied9721df0a7ffd21d1d69d68759d91b6c320c179
This commit is contained in:
Jingning Han 2017-04-04 09:45:02 -07:00
Родитель 480ee02e8a
Коммит 94652b8950
3 изменённых файлов: 15 добавлений и 6 удалений

Просмотреть файл

@ -158,13 +158,21 @@ void av1_foreach_transformed_block_in_plane(
#if CONFIG_LV_MAP
void av1_foreach_transformed_block(const MACROBLOCKD *const xd,
BLOCK_SIZE bsize,
BLOCK_SIZE bsize, int mi_row, int mi_col,
foreach_transformed_block_visitor visit,
void *arg) {
int plane;
for (plane = 0; plane < MAX_MB_PLANE; ++plane)
for (plane = 0; plane < MAX_MB_PLANE; ++plane) {
#if CONFIG_CB4X4
if (bsize < BLOCK_8X8 && plane && !is_chroma_reference(mi_row, mi_col))
continue;
#else
(void)mi_row;
(void)mi_col;
#endif
av1_foreach_transformed_block_in_plane(xd, bsize, plane, visit, arg);
}
}
#endif

Просмотреть файл

@ -999,7 +999,7 @@ void av1_foreach_transformed_block_in_plane(
#if CONFIG_LV_MAP
void av1_foreach_transformed_block(const MACROBLOCKD *const xd,
BLOCK_SIZE bsize,
BLOCK_SIZE bsize, int mi_row, int mi_col,
foreach_transformed_block_visitor visit,
void *arg);
#endif

Просмотреть файл

@ -565,10 +565,11 @@ void av1_update_txb_context(const AV1_COMP *cpi, ThreadData *td,
if (!dry_run) {
td->counts->skip[ctx][0] += skip_inc;
av1_foreach_transformed_block(xd, bsize, update_and_record_txb_context,
&arg);
av1_foreach_transformed_block(xd, bsize, mi_row, mi_col,
update_and_record_txb_context, &arg);
} else if (dry_run == DRY_RUN_NORMAL) {
av1_foreach_transformed_block(xd, bsize, update_txb_context, &arg);
av1_foreach_transformed_block(xd, bsize, mi_row, mi_col, update_txb_context,
&arg);
} else {
printf("DRY_RUN_COSTCOEFFS is not supported yet\n");
assert(0);