diff --git a/mpp/codec/dec/h264/h264d_api.c b/mpp/codec/dec/h264/h264d_api.c index 27426d34..cf5cdb13 100644 --- a/mpp/codec/dec/h264/h264d_api.c +++ b/mpp/codec/dec/h264/h264d_api.c @@ -543,8 +543,7 @@ MPP_RET h264d_prepare(void *decoder, MppPacket pkt, HalDecTask *task) if (mpp_packet_get_flag(pkt) & MPP_PACKET_FLAG_EXTRA_DATA) { RK_U8 *pdata = p_Inp->in_buf; - p_Inp->is_nalff = (p_Inp->in_length > 3) && - (pdata[0] || pdata[1] || (pdata[2] > 1) || (!pdata[2] && pdata[3] > 1)); + p_Inp->is_nalff = (p_Inp->in_length > 3) && (pdata[0] == 1 && (pdata[4] & 0xFC) == 0xFC); mpp_log("is_avcC=%d\n", p_Inp->is_nalff); if (p_Inp->is_nalff) { (ret = parse_prepare_avcC_header(p_Inp, p_Dec->p_Cur));