diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2014-11-17 11:05:58 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2014-11-17 11:06:13 +0100 |
commit | 7cbe1e044701898aadda9958ddb67f6ea95fc72b (patch) | |
tree | 06b168dc3a6bc86c905cc7cb4510fdc35cd3acd0 /libavcodec/hevc.c | |
parent | 9421d974bc79b0032861f31ffc360f6a11ff3529 (diff) | |
parent | 920bca3e2332dced9c78bd14cfc2ff138188bd57 (diff) | |
download | ffmpeg-7cbe1e044701898aadda9958ddb67f6ea95fc72b.tar.gz |
Merge commit '920bca3e2332dced9c78bd14cfc2ff138188bd57'
* commit '920bca3e2332dced9c78bd14cfc2ff138188bd57':
hevc: do not store pcm_flag in the context
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/hevc.c')
-rw-r--r-- | libavcodec/hevc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 464aaab083..7502f4d5a5 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -1966,7 +1966,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++) @@ -2002,6 +2001,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 || @@ -2015,9 +2016,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) @@ -2067,7 +2068,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); |