diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c index 1884a1b39a..b067f52316 100644 --- a/libavcodec/hevc.c +++ b/libavcodec/hevc.c @@ -701,6 +701,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)