diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 859b2abade..bc89b17f26 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -779,6 +779,11 @@ static int hls_slice_header(HEVCContext *s) sh->slice_ctb_addr_rs = sh->slice_segment_addr; + if (!s->sh.slice_ctb_addr_rs && s->sh.dependent_slice_segment_flag) { + av_log(s->avctx, AV_LOG_ERROR, "Impossible slice segment.\n"); + return AVERROR_INVALIDDATA; + } + s->HEVClc.first_qp_group = !s->sh.dependent_slice_segment_flag; if (!s->pps->cu_qp_delta_enabled_flag)