aboutsummaryrefslogtreecommitdiffstats
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
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.
-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)