From ad4fd32b2133ce622bd5635eb641beb5da18eae4 Mon Sep 17 00:00:00 2001 From: "sayon.chen" Date: Mon, 23 Mar 2020 16:21:44 +0800 Subject: [PATCH] [mpp_enc]: When enc_v2 init fail use v0 by default Try enc_v2 on HEVC and AVC case. When it failed just fallback to normal case. Change-Id: Iaed522d79b87bef63a8dea3585bb926f8cedb4f8 Signed-off-by: sayon.chen Signed-off-by: Herman Chen --- mpp/mpp.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/mpp/mpp.cpp b/mpp/mpp.cpp index 65395a09..43d5ddc6 100644 --- a/mpp/mpp.cpp +++ b/mpp/mpp.cpp @@ -174,12 +174,18 @@ MPP_RET Mpp::init(MppCtxType type, MppCodingType coding) this, }; - mpp_env_get_u32("enc_version", &mEncVersion, 0); + /* H.264 and H.265 check encoder path version */ + if (mCoding == MPP_VIDEO_CodingAVC || mCoding == MPP_VIDEO_CodingHEVC) + mpp_env_get_u32("enc_version", &mEncVersion, 0); if (mEncVersion) { - mpp_enc_init_v2(&mEnc, &cfg); - mpp_enc_start_v2(mEnc); - } else { + if (MPP_OK == mpp_enc_init_v2(&mEnc, &cfg)) { + mpp_enc_start_v2(mEnc); + } else + mEncVersion = 0; + } + + if (mEncVersion == 0) { mpp_enc_init(&mEnc, &cfg); mpp_enc_start(mEnc); }