diff mbox series

[FFmpeg-devel,06/11] avcodec/vvcdec: skip inter prediction for IBC blocks

Message ID TYSPR06MB64330E2CD616C967A8D39715AA562@TYSPR06MB6433.apcprd06.prod.outlook.com
State Accepted
Commit 3241aa26d1de052fc104dc0fe9981d06c6dd9425
Headers show
Series Add Intra Block Copy support to the vvc decoder | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Nuo Mi Feb. 22, 2024, 7:14 a.m. UTC
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.
---
 libavcodec/vvc/vvc_inter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff mbox series

Patch

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)