From c13c56305d7ca1d7d33047ef70d6ffffcc7cb7c8 Mon Sep 17 00:00:00 2001 From: "xiaoxu.chen" Date: Wed, 2 Apr 2025 17:39:46 +0800 Subject: [PATCH] fix[packet]: fix packet partition and eoi logic Change-Id: I73782a3bfe989fbc35cdbeff60067e6971b41681 Signed-off-by: xiaoxu.chen --- kmpp/kmpp.c | 4 ---- mpp/base/inc/mpp_packet_impl.h | 3 +++ mpp/base/mpp_packet.cpp | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/kmpp/kmpp.c b/kmpp/kmpp.c index 616b381c..d26cd1ba 100644 --- a/kmpp/kmpp.c +++ b/kmpp/kmpp.c @@ -32,10 +32,6 @@ #include "mpp_vcodec_client.h" #include "mpp_enc_cfg_impl.h" -#define MPP_PACKET_FLAG_INTRA (0x00000010) -#define MPP_PACKET_FLAG_PARTITION (0x00000020) -#define MPP_PACKET_FLAG_EOI (0x00000040) - typedef struct KmppFrameInfos_t { RK_U32 width; RK_U32 height; diff --git a/mpp/base/inc/mpp_packet_impl.h b/mpp/base/inc/mpp_packet_impl.h index 4c753299..78cfc348 100644 --- a/mpp/base/inc/mpp_packet_impl.h +++ b/mpp/base/inc/mpp_packet_impl.h @@ -22,6 +22,9 @@ #define MPP_PACKET_FLAG_EOS (0x00000001) #define MPP_PACKET_FLAG_EXTRA_DATA (0x00000002) #define MPP_PACKET_FLAG_INTERNAL (0x00000004) +#define MPP_PACKET_FLAG_INTRA (0x00000010) +#define MPP_PACKET_FLAG_PARTITION (0x00000020) +#define MPP_PACKET_FLAG_EOI (0x00000040) #define MPP_PKT_SEG_CNT_DEFAULT 8 diff --git a/mpp/base/mpp_packet.cpp b/mpp/base/mpp_packet.cpp index 785e6fb4..8f263372 100644 --- a/mpp/base/mpp_packet.cpp +++ b/mpp/base/mpp_packet.cpp @@ -355,7 +355,7 @@ RK_U32 mpp_packet_is_partition(const MppPacket packet) MppPacketImpl *p = (MppPacketImpl *)packet; - return p->status.partition; + return (p->status.partition) || (p->flag & MPP_PACKET_FLAG_PARTITION); } RK_U32 mpp_packet_is_soi(const MppPacket packet) @@ -375,7 +375,7 @@ RK_U32 mpp_packet_is_eoi(const MppPacket packet) MppPacketImpl *p = (MppPacketImpl *)packet; - return p->status.eoi; + return (p->status.eoi) || (p->flag & MPP_PACKET_FLAG_EOI); } MPP_RET mpp_packet_read(MppPacket packet, size_t offset, void *data, size_t size)