|
|
|
@ -2065,7 +2065,6 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) |
|
|
|
|
lc->cu.pred_mode = MODE_INTRA; |
|
|
|
|
lc->cu.part_mode = PART_2Nx2N; |
|
|
|
|
lc->cu.intra_split_flag = 0; |
|
|
|
|
lc->cu.pcm_flag = 0; |
|
|
|
|
|
|
|
|
|
SAMPLE_CTB(s->skip_flag, x_cb, y_cb) = 0; |
|
|
|
|
for (x = 0; x < 4; x++) |
|
|
|
@ -2096,6 +2095,8 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) |
|
|
|
|
if (!s->sh.disable_deblocking_filter_flag) |
|
|
|
|
ff_hevc_deblocking_boundary_strengths(s, x0, y0, log2_cb_size); |
|
|
|
|
} else { |
|
|
|
|
int pcm_flag = 0; |
|
|
|
|
|
|
|
|
|
if (s->sh.slice_type != I_SLICE) |
|
|
|
|
lc->cu.pred_mode = ff_hevc_pred_mode_decode(s); |
|
|
|
|
if (lc->cu.pred_mode != MODE_INTRA || |
|
|
|
@ -2109,9 +2110,9 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) |
|
|
|
|
if (lc->cu.part_mode == PART_2Nx2N && s->sps->pcm_enabled_flag && |
|
|
|
|
log2_cb_size >= s->sps->pcm.log2_min_pcm_cb_size && |
|
|
|
|
log2_cb_size <= s->sps->pcm.log2_max_pcm_cb_size) { |
|
|
|
|
lc->cu.pcm_flag = ff_hevc_pcm_flag_decode(s); |
|
|
|
|
pcm_flag = ff_hevc_pcm_flag_decode(s); |
|
|
|
|
} |
|
|
|
|
if (lc->cu.pcm_flag) { |
|
|
|
|
if (pcm_flag) { |
|
|
|
|
intra_prediction_unit_default_value(s, x0, y0, log2_cb_size); |
|
|
|
|
ret = hls_pcm_sample(s, x0, y0, log2_cb_size); |
|
|
|
|
if (s->sps->pcm.loop_filter_disable_flag) |
|
|
|
@ -2161,7 +2162,7 @@ static int hls_coding_unit(HEVCContext *s, int x0, int y0, int log2_cb_size) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (!lc->cu.pcm_flag) { |
|
|
|
|
if (!pcm_flag) { |
|
|
|
|
if (lc->cu.pred_mode != MODE_INTRA && |
|
|
|
|
!(lc->cu.part_mode == PART_2Nx2N && lc->pu.merge_flag)) { |
|
|
|
|
lc->cu.rqt_root_cbf = ff_hevc_no_residual_syntax_flag_decode(s); |
|
|
|
|