|
|
@ -97,7 +97,7 @@ static int pic_arrays_init(HEVCContext *s, const HEVCSPS *sps) |
|
|
|
if (!s->sao || !s->deblock) |
|
|
|
if (!s->sao || !s->deblock) |
|
|
|
goto fail; |
|
|
|
goto fail; |
|
|
|
|
|
|
|
|
|
|
|
s->skip_flag = av_malloc(pic_size_in_ctb); |
|
|
|
s->skip_flag = av_malloc(sps->min_cb_height * sps->min_cb_width); |
|
|
|
s->tab_ct_depth = av_malloc_array(sps->min_cb_height, sps->min_cb_width); |
|
|
|
s->tab_ct_depth = av_malloc_array(sps->min_cb_height, sps->min_cb_width); |
|
|
|
if (!s->skip_flag || !s->tab_ct_depth) |
|
|
|
if (!s->skip_flag || !s->tab_ct_depth) |
|
|
|
goto fail; |
|
|
|
goto fail; |
|
|
@ -2019,6 +2019,12 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) |
|
|
|
x += min_cb_width; |
|
|
|
x += min_cb_width; |
|
|
|
} |
|
|
|
} |
|
|
|
lc->cu.pred_mode = skip_flag ? MODE_SKIP : MODE_INTER; |
|
|
|
lc->cu.pred_mode = skip_flag ? MODE_SKIP : MODE_INTER; |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
x = y_cb * min_cb_width + x_cb; |
|
|
|
|
|
|
|
for (y = 0; y < length; y++) { |
|
|
|
|
|
|
|
memset(&s->skip_flag[x], 0, length); |
|
|
|
|
|
|
|
x += min_cb_width; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (SAMPLE_CTB(s->skip_flag, x_cb, y_cb)) { |
|
|
|
if (SAMPLE_CTB(s->skip_flag, x_cb, y_cb)) { |
|
|
|