!798 【xts_hats】【master】【驱动子系统】codec图片编解码接口适配用例变更

Merge pull request !798 from 张浩东/master
This commit is contained in:
openharmony_ci 2023-08-18 12:55:25 +00:00 committed by Gitee
commit 068feb499b
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 20 additions and 109 deletions

View File

@ -20,10 +20,7 @@ ohos_moduletest_suite("HatsHdfImageCodecTest") {
module_out_path = module_output_path
deps = [ "//third_party/googletest:gtest_main" ]
sources = [
"codec_hdi_jpeg_test.cpp",
"codec_image_callback.cpp",
]
sources = [ "codec_hdi_jpeg_test.cpp" ]
if (is_standard_system) {
external_deps = [

View File

@ -15,12 +15,11 @@
#include <buffer_handle.h>
#include <gtest/gtest.h>
#include "codec_image_callback.h"
#include "hdf_log.h"
#include "v1_0/include/idisplay_buffer.h"
#include "v1_0/display_composer_type.h"
#include "v1_0/display_buffer_type.h"
#include "v1_0/icodec_image_jpeg.h"
#include "v1_0/icodec_image.h"
#define HDF_LOG_TAG codec_jpeg_test
using namespace std;
@ -33,7 +32,7 @@ constexpr int32_t WIDTH = 640;
constexpr int32_t HEIGHT = 480;
constexpr uint32_t NORMAL_BUFFER_SIZE = 1000;
constexpr uint32_t CODEC_IMAGE_MAX_BUFFER_SIZE = 50 * 1024 *1024;
static OHOS::sptr<ICodecImageJpeg> hdiJpeg_;
static OHOS::sptr<ICodecImage> hdiJpeg_;
static IDisplayBuffer *hdiBuffer_;
class CodecHdiJpegTest : public testing::Test {
public:
@ -56,7 +55,7 @@ public:
static void SetUpTestCase()
{
hdiJpeg_ = ICodecImageJpeg::Get();
hdiJpeg_ = ICodecImage::Get();
hdiBuffer_ = IDisplayBuffer::Get();
}
static void TearDownTestCase()
@ -67,13 +66,13 @@ public:
void SetUp()
{
if (hdiJpeg_ != nullptr) {
hdiJpeg_->JpegInit();
hdiJpeg_->Init(CODEC_IMAGE_JPEG);
}
}
void TearDown()
{
if (hdiJpeg_ != nullptr) {
hdiJpeg_->JpegDeInit();
hdiJpeg_->DeInit(CODEC_IMAGE_JPEG);
}
}
};
@ -90,7 +89,7 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiAllocateInBufferTest_001, TestSize.Level1)
{
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, 0);
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, 0, CODEC_IMAGE_JPEG);
ASSERT_NE(ret, HDF_SUCCESS);
}
@ -98,7 +97,7 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiAllocateInBufferTest_002, TestSize.Level1)
{
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, CODEC_IMAGE_MAX_BUFFER_SIZE + 1);
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, CODEC_IMAGE_MAX_BUFFER_SIZE + 1, CODEC_IMAGE_JPEG);
ASSERT_NE(ret, HDF_SUCCESS);
}
@ -106,7 +105,7 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiAllocateAndFreeInBufferTest_001, TestSize.
{
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE);
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE, CODEC_IMAGE_JPEG);
ASSERT_EQ(ret, HDF_SUCCESS);
ret = hdiJpeg_->FreeInBuffer(inBuffer);
ASSERT_EQ(ret, HDF_SUCCESS);
@ -117,6 +116,7 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiFreeInBufferTest_001, TestSize.Level1)
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
inBuffer.id = -1;
inBuffer.fenceFd = -1;
auto ret = hdiJpeg_->FreeInBuffer(inBuffer);
ASSERT_NE(ret, HDF_SUCCESS);
}
@ -127,8 +127,9 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiDoJpegDecodeTest_001, TestSize.Level1)
struct CodecImageBuffer inBuffer;
struct CodecImageBuffer outBuffer;
struct CodecJpegDecInfo decInfo;
OHOS::sptr<ICodecImageCallback> callback;
auto ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, callback, decInfo);
inBuffer.fenceFd = -1;
outBuffer.fenceFd = -1;
auto ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, decInfo);
ASSERT_NE(ret, HDF_SUCCESS);
}
@ -136,13 +137,13 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiDoJpegDecodeTest_002, TestSize.Level1)
{
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE);
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE, CODEC_IMAGE_JPEG);
ASSERT_EQ(ret, HDF_SUCCESS);
struct CodecImageBuffer outBuffer;
struct CodecJpegDecInfo decInfo;
OHOS::sptr<ICodecImageCallback> callback;
ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, callback, decInfo);
outBuffer.fenceFd = -1;
ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, decInfo);
EXPECT_TRUE(ret != HDF_SUCCESS);
ret = hdiJpeg_->FreeInBuffer(inBuffer);
ASSERT_EQ(ret, HDF_SUCCESS);
@ -152,35 +153,19 @@ HWTEST_F(CodecHdiJpegTest, HdfCodecHdiDoJpegDecodeTest_003, TestSize.Level1)
{
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE);
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE, CODEC_IMAGE_JPEG);
ASSERT_EQ(ret, HDF_SUCCESS);
ASSERT_TRUE(hdiBuffer_ != nullptr);
struct CodecImageBuffer outBuffer;
InitOutBuffer(outBuffer);
outBuffer.fenceFd = -1;
struct CodecJpegDecInfo decInfo;
OHOS::sptr<ICodecImageCallback> callback;
ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, callback, decInfo);
ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, decInfo);
EXPECT_TRUE(ret != HDF_SUCCESS);
ret = hdiJpeg_->FreeInBuffer(inBuffer);
ASSERT_EQ(ret, HDF_SUCCESS);
}
HWTEST_F(CodecHdiJpegTest, HdfCodecHdiDoJpegDecodeTest_004, TestSize.Level1)
{
ASSERT_TRUE(hdiJpeg_ != nullptr);
struct CodecImageBuffer inBuffer;
auto ret = hdiJpeg_->AllocateInBuffer(inBuffer, NORMAL_BUFFER_SIZE);
ASSERT_EQ(ret, HDF_SUCCESS);
ASSERT_TRUE(hdiBuffer_ != nullptr);
struct CodecImageBuffer outBuffer;
InitOutBuffer(outBuffer);
struct CodecJpegDecInfo decInfo;
OHOS::sptr<ICodecImageCallback> callback = new CodecImageCallback;
ret = hdiJpeg_->DoJpegDecode(inBuffer, outBuffer, callback, decInfo);
EXPECT_TRUE(ret == HDF_SUCCESS);
}
} // namespace
} // namespace

View File

@ -1,33 +0,0 @@
/*
* Copyright (c) 2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "codec_image_callback.h"
#include <hdf_base.h>
namespace OHOS {
namespace HDI {
namespace Codec {
namespace Image {
namespace V1_0 {
int32_t CodecImageCallback::OnImageEvent(int32_t status)
{
return HDF_SUCCESS;
}
} // V1_0
} // Image
} // Codec
} // HDI
} // OHOS

View File

@ -1,38 +0,0 @@
/*
* Copyright (c) 2023 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef OHOS_HDI_CODEC_IMAGE_V1_0_CODECIMAGECALLBACK_H
#define OHOS_HDI_CODEC_IMAGE_V1_0_CODECIMAGECALLBACK_H
#include "v1_0/icodec_image_callback.h"
namespace OHOS {
namespace HDI {
namespace Codec {
namespace Image {
namespace V1_0 {
class CodecImageCallback : public ICodecImageCallback {
public:
CodecImageCallback() = default;
virtual ~CodecImageCallback() = default;
int32_t OnImageEvent(int32_t status) override;
};
} // V1_0
} // Image
} // Codec
} // HDI
} // OHOS
#endif // OHOS_HDI_CODEC_IMAGE_V1_0_CODECIMAGECALLBACK_H