From 1eb157eca3b3ec17b2ec69f1eb985409627c69be Mon Sep 17 00:00:00 2001 From: zhijie-zh Date: Tue, 24 Dec 2024 09:12:03 +0800 Subject: [PATCH] [Decode] Refine slice command size for Decode Move into platform-specific packet: AVC/VP8/MPEG2 --- .../dec/vvc/packet/decode_vvc_slice_packet.h | 18 +++++++++++------- .../hal/dec/vvc/pipeline/decode_vvc_pipeline.h | 2 +- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_slice_packet.h b/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_slice_packet.h index e1622647dd1..5921e312400 100644 --- a/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_slice_packet.h +++ b/media_softlet/agnostic/common/codec/hal/dec/vvc/packet/decode_vvc_slice_packet.h @@ -1,5 +1,5 @@ /* -* Copyright (c) 2021-2023, Intel Corporation +* Copyright (c) 2021-2024, Intel Corporation * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), @@ -49,6 +49,8 @@ class VvcDecodeSlicePkt : public DecodeSubPacket, public Itf::ParSetting if (m_hwInterface != nullptr) { m_vvcpItf = std::static_pointer_cast(m_hwInterface->GetVvcpInterfaceNext()); + m_vdencItf = std::static_pointer_cast(m_hwInterface->GetVdencInterfaceNext()); + m_miItf = std::static_pointer_cast(m_hwInterface->GetMiInterfaceNext()); } } } @@ -135,12 +137,14 @@ class VvcDecodeSlicePkt : public DecodeSubPacket, public Itf::ParSetting MHW_SETPAR_DECL_HDR(VVCP_BSD_OBJECT); MHW_SETPAR_DECL_HDR(VVCP_TILE_CODING); - VvcPipeline * m_vvcPipeline = nullptr; - std::shared_ptr m_vvcpItf = nullptr; - VvcBasicFeature * m_vvcBasicFeature = nullptr; - DecodeAllocator * m_allocator = nullptr; - DecodeSubPacket * m_vvcCpSubPkt = nullptr; //!< Pointer to VVC CP packet - CodechalHwInterfaceNext *m_hwInterface = nullptr; + VvcPipeline * m_vvcPipeline = nullptr; + std::shared_ptr m_vvcpItf = nullptr; + std::shared_ptr m_miItf = nullptr; + std::shared_ptr m_vdencItf = nullptr; + VvcBasicFeature * m_vvcBasicFeature = nullptr; + DecodeAllocator * m_allocator = nullptr; + DecodeSubPacket * m_vvcCpSubPkt = nullptr; //!< Pointer to VVC CP packet + CodechalHwInterfaceNext * m_hwInterface = nullptr; // Parameters passed from application CodecVvcPicParams *m_vvcPicParams = nullptr; //!< Pointer to VVC picture parameter diff --git a/media_softlet/agnostic/common/codec/hal/dec/vvc/pipeline/decode_vvc_pipeline.h b/media_softlet/agnostic/common/codec/hal/dec/vvc/pipeline/decode_vvc_pipeline.h index 40d8b999a9b..9e90eb04dd8 100644 --- a/media_softlet/agnostic/common/codec/hal/dec/vvc/pipeline/decode_vvc_pipeline.h +++ b/media_softlet/agnostic/common/codec/hal/dec/vvc/pipeline/decode_vvc_pipeline.h @@ -272,7 +272,7 @@ namespace decode //! MOS_STATUS CreateFeatureManager() override; - MOS_STATUS AllocateResources(VvcBasicFeature &basicFeature); + virtual MOS_STATUS AllocateResources(VvcBasicFeature &basicFeature);