mirror of
https://github.com/openharmony/multimedia_video_processing_engine.git
synced 2026-07-01 06:41:58 -04:00
+2
-2
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user