aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/vvc
diff options
context:
space:
mode:
authorNuo Mi <nuomi2021@gmail.com>2024-02-22 15:14:01 +0800
committerNuo Mi <nuomi2021@gmail.com>2024-02-24 20:24:55 +0800
commit3241aa26d1de052fc104dc0fe9981d06c6dd9425 (patch)
tree5dc061f165f61019a86456160c7d33f066a2e549 /libavcodec/vvc
parent09946dc40b8c55624b65ac86f03b4f1b09d9b2dc (diff)
downloadffmpeg-3241aa26d1de052fc104dc0fe9981d06c6dd9425.tar.gz
avcodec/vvcdec: skip inter prediction for IBC blocks
Intra Block Copy relies on reconstructed pixels from the current frame. We skip IBC during the inter prediction stage and handle it during the reconstruction stage.
Diffstat (limited to 'libavcodec/vvc')
-rw-r--r--libavcodec/vvc/vvc_inter.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/vvc/vvc_inter.c b/libavcodec/vvc/vvc_inter.c
index 6c9c8a7165..d5be32aa14 100644
--- a/libavcodec/vvc/vvc_inter.c
+++ b/libavcodec/vvc/vvc_inter.c
@@ -893,7 +893,7 @@ static void predict_inter(VVCLocalContext *lc)
static int has_inter_luma(const CodingUnit *cu)
{
- return cu->pred_mode != MODE_INTRA && cu->pred_mode != MODE_PLT && cu->tree_type != DUAL_TREE_CHROMA;
+ return (cu->pred_mode == MODE_INTER || cu->pred_mode == MODE_SKIP) && cu->tree_type != DUAL_TREE_CHROMA;
}
int ff_vvc_predict_inter(VVCLocalContext *lc, const int rs)