vpe ani code

Signed-off-by: pxh123456 <pengxiaohang@huawei.com>
This commit is contained in:
pxh123456
2026-01-22 21:54:29 +08:00
parent 47635fcb62
commit 28ad24c07d
3 changed files with 12 additions and 9 deletions
+2 -2
View File
@@ -438,7 +438,7 @@ ohos_shared_library("video_processing") {
subsystem_name = "multimedia"
part_name = "video_processing_engine"
}
image.image
ohos_shared_library("detailEnhancer") {
sanitize = {
cfi = true
@@ -465,7 +465,7 @@ ohos_shared_library("detailEnhancer") {
]
cflags = VIDEO_PROCESSING_ENGINE_CFLAGS
external_image.imagedeps = [
external_deps = [
"c_utils:utils",
"graphic_surface:surface",
"hilog:libhilog",
@@ -46,7 +46,6 @@ public:
optional_view<taiheVpe::QualityLevel> level);
taiheImage::PixelMap EnhanceDetailSyncWithRatio(taiheImage::weak::PixelMap sourceImage, double scale,
optional_view<taiheVpe::QualityLevel> level);
};
private:
struct DetailEnhanceContext {
@@ -55,7 +54,7 @@ private:
int32_t qualityLevel{};
std::shared_ptr<PixelMap> inputPixelMap{};
std::shared_ptr<PixelMap> outputPixelMap{};
}
};
void ParseDetailEnhanceParameter(std::unique_ptr<DetailEnhanceContext>& detailContext,
taiheImage::weak::PixelMap sourceImage, int width, int height, optional_view<taiheVpe::QualityLevel> level);
@@ -66,6 +65,6 @@ private:
std::shared_ptr<PixelMap> DetailEnhanceImpl(DetailEnhanceContext* context);
std::shared_ptr<OHOS::Media::PixelMap> EnhanceDetailImpl(std::unique_ptr<DetailEnhanceContext>& detailContext);
std::shared_ptr<OHOS::Media::PixelMap DetailEnhanceImpl(DetailEnhanceContext* context);
};
}
#endif
@@ -39,6 +39,10 @@ using namespace VideoProcessingEngine;
using namespace ANI;
using namespace ANI::Vpe;
namespace {
static std::mutex g_detailTaskLock{std::mutex()};
}
namespace ANI::Vpe {
void InitializeEnvironment() {}
void DeinitializeEnvironment() {}
@@ -103,7 +107,7 @@ taiheImage::PixelMap ImageProcessorImpl::EnhanceDetailWithRes(taiheImage::weak::
int height, optional_view<taiheVpe::QualityLevel> level)
{
VPETrace vpeTrace("VpeAni::DeatailEnhanceProcessRes");
std::lock_guard<std::mutext> lock(g_detailTaskLock);
std::lock_guard<std::mutex> lock(g_detailTaskLock);
std::unique_ptr<DetailEnhanceContext> detailContext = std::make_unique<DetailEnhanceContext>();
ParseDetailEnhanceParameter(detailContext, sourceImage, width, height, level);
return make_holder<ANI::Image::PixelMapImpl, taiheImage::PixelMap>(EnhanceDetailImpl(detailContext));
@@ -113,7 +117,7 @@ taiheImage::PixelMap ImageProcessorImpl::EnhanceDetailWithRatio(taiheImage::weak
optional_view<taiheVpe::QualityLevel> level)
{
VPETrace vpeTrace("VpeAni::DeatailEnhanceProcessRatio");
std::lock_guard<std::mutext> lock(g_detailTaskLock);
std::lock_guard<std::mutex> lock(g_detailTaskLock);
std::unique_ptr<DetailEnhanceContext> detailContext = std::make_unique<DetailEnhanceContext>();
ParseDetailEnhanceParameter(detailContext, sourceImage, scale, level);
return make_holder<ANI::Image::PixelMapImpl, taiheImage::PixelMap>(EnhanceDetailImpl(detailContext));
@@ -123,7 +127,7 @@ taiheImage::PixelMap ImageProcessorImpl::EnhanceDetailSyncWithRes(taiheImage::we
int height, optional_view<taiheVpe::QualityLevel> level)
{
VPETrace vpeTrace("VpeAni::DeatailEnhanceProcessSyncRes");
std::lock_guard<std::mutext> lock(g_detailTaskLock);
std::lock_guard<std::mutex> lock(g_detailTaskLock);
std::unique_ptr<DetailEnhanceContext> detailContext = std::make_unique<DetailEnhanceContext>();
ParseDetailEnhanceParameter(detailContext, sourceImage, width, height, level);
return make_holder<ANI::Image::PixelMapImpl, taiheImage::PixelMap>(EnhanceDetailImpl(detailContext));
@@ -133,7 +137,7 @@ taiheImage::PixelMap ImageProcessorImpl::EnhanceDetailSyncWithRatio(taiheImage::
double scale, optional_view<taiheVpe::QualityLevel> level)
{
VPETrace vpeTrace("VpeAni::DeatailEnhanceProcessSyncRatio");
std::lock_guard<std::mutext> lock(g_detailTaskLock);
std::lock_guard<std::mutex> lock(g_detailTaskLock);
std::unique_ptr<DetailEnhanceContext> detailContext = std::make_unique<DetailEnhanceContext>();
ParseDetailEnhanceParameter(detailContext, sourceImage, scale, level);
return make_holder<ANI::Image::PixelMapImpl, taiheImage::PixelMap>(EnhanceDetailImpl(detailContext));