测试代码合入

Signed-off-by: wangyi <wangyi357@h-partners.com>
This commit is contained in:
wangyi
2025-03-13 17:30:09 +08:00
parent 52bad8cd4c
commit 146943fb73
31 changed files with 506 additions and 270 deletions
BIN
View File
Binary file not shown.
+39
View File
@@ -185,5 +185,44 @@ std::unordered_map<int32_t, std::string> colorString = {
{OH_COLORSPACE_DISPLAY_BT2020_HLG, "DISPLAY_BT2020_HLG"},
{OH_COLORSPACE_DISPLAY_BT2020_PQ, "DISPLAY_BT2020_PQ"}
};
enum COLORSPACE {
UNKNOWN = 0,
ADOBE_RGB_1998 = 1,
DCI_P3 = 2,
DISPLAY_P3 = 3,
SRGB = 4,
BT709 = 6,
BT601_EBU = 7,
BT601_SMPTE_C = 8,
BT2020_HLG = 9,
BT2020_PQ = 10,
P3_HLG = 11,
P3_PQ = 12,
ADOBE_RGB_1998_LIMIT = 13,
DISPLAY_P3_LIMIT = 14,
SRGB_LIMIT = 15,
BT709_LIMIT = 16,
BT601_EBU_LIMIT = 17,
BT601_SMPTE_C_LIMIT = 18,
BT2020_HLG_LIMIT = 19,
BT2020_PQ_LIMIT = 20,
P3_HLG_LIMIT = 21,
P3_PQ_LIMIT = 22,
LINEAR_P3 = 23,
LINEAR_SRGB = 24,
LINEAR_BT709 = LINEAR_SRGB,
LINEAR_BT2020 = 25,
DISPLAY_SRGB = SRGB,
DISPLAY_P3_SRGB = DISPLAY_P3,
DISPLAY_P3_HLG = P3_HLG,
DISPLAY_P3_PQ = P3_PQ,
CUSTOM = 5
};
enum HdrMetadataType {
NONE = 0,
BASE = 1,
GAINMAP = 2,
ALTERNATE = 3
};
#endif
+1 -1
View File
@@ -52,7 +52,7 @@ image_moduletest_cflags = [
ohos_unittest("vpe_image_native_module_test") {
module_out_path = module_output_path
include_dirs = image_moduletest_native_include_dirs
include_dirs += [ "./" ]
include_dirs += ["../common/"]
cflags = image_moduletest_cflags
sources = [
+1 -2
View File
@@ -94,7 +94,6 @@ void VpeImageApiTest::TearDownTestCase()
}
void VpeImageApiTest::SetUp()
{
}
void VpeImageApiTest::TearDown()
{
@@ -511,7 +510,7 @@ HWTEST_F(VpeImageApiTest, VPE_IMAGE_API_TEST_0240, TestSize.Level0)
HWTEST_F(VpeImageApiTest, VPE_IMAGE_API_TEST_0250, TestSize.Level0)
{
OH_ImageProcessing_InitializeEnvironment();
ImageProcessing_ErrorCode ret = OH_ImageProcessing_Create(nullptr,
ImageProcessing_ErrorCode ret = OH_ImageProcessing_Create(nullptr,
IMAGE_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
EXPECT_EQ(ret, IMAGE_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -405,15 +405,16 @@ HWTEST_F(VpeVideoCapTest, COLORSPACE_DECOMPOSE_0090, TestSize.Level2)
HWTEST_F(VpeVideoCapTest, COLORSPACE_DECOMPOSE_0100, TestSize.Level2)
{
ImageProcessing_ColorSpaceInfo sourceImageInfo = {ALTERNATE,
BT2020_PQ,
PIXEL_FORMAT_YCBCR_P010};
BT2020_PQ,
PIXEL_FORMAT_YCBCR_P010};
ImageProcessing_ColorSpaceInfo destinationImageInfo = {BASE,
DISPLAY_SRGB,
PIXEL_FORMAT_RGBA_8888};
DISPLAY_SRGB,
PIXEL_FORMAT_RGBA_8888};
ImageProcessing_ColorSpaceInfo destinationGainmapInfo = {GAINMAP,
DISPLAY_SRGB,
PIXEL_FORMAT_RGBA_8888};
ASSERT_TRUE(OH_ImageProcessing_IsDecompositionSupported(&sourceImageInfo, &destinationImageInfo, &destinationGainmapInfo));
DISPLAY_SRGB,
PIXEL_FORMAT_RGBA_8888};
ASSERT_TRUE(OH_ImageProcessing_IsDecompositionSupported(&sourceImageInfo,
&destinationImageInfo, &destinationGainmapInfo));
}
/**
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -0,0 +1,133 @@
{
"vivid_pq_nv12.yuv": {
"nv12": {
"hdr2sdr_nv12_nv12": "2f,1d,d9,fe,11,24,f5,a0,34,83,a9,d0,eb,af,e8,34,3e,6d,49,8e,86,f5,a4,97,fb,04,47,eb,b7,67,56,40,b8,43,22,3d,6a,7a,95,eb,68,e8,6a,0c,b5,ab,82,63,6c,44,54,05,7e,09,4b,52,07,e4,89,7e,91,e5,6b,e0,",
"hdr2sdr_nv12_rgba8888": "68,4a,8e,91,e8,58,d6,27,8a,37,bc,43,be,b7,11,56,f5,c9,d3,17,62,e6,93,58,83,6f,80,79,25,8d,59,32,f8,2f,6b,34,8f,50,33,c5,58,4c,22,68,15,f8,b4,c9,46,15,33,d4,16,1b,4f,6a,d4,a3,89,8d,13,67,74,94,",
"hdr2hdr_nv12_nv12": "c6,d1,d7,0a,00,ea,50,ca,7a,ec,9d,a6,f6,60,62,b7,cd,3c,99,15,f1,08,99,73,a7,0d,c0,7e,7d,c9,96,aa,ec,61,c3,e1,8c,eb,22,22,87,b6,29,69,ea,aa,67,fd,c8,5c,8c,0d,3a,3a,79,5e,03,42,76,eb,90,c4,e6,6b,",
"hdr2hdr_nv12_rgba": "d8,ac,27,d2,f0,7e,3e,6c,f0,dc,bc,fe,b1,c1,c5,18,40,ef,d6,00,40,5a,6a,e9,d5,33,38,3e,13,6b,e3,14,4e,dd,f4,79,1b,dc,7e,47,c6,b3,56,22,41,8b,d7,7f,03,16,fe,6a,ff,53,0f,7f,85,98,93,c2,e5,11,7b,8b,"
}
},
"vivid_pq_nv21.yuv": {
"nv21": {
"hdr2sdr_nv21_nv12": "b0,15,3e,48,fb,25,6b,1b,4c,d3,bb,0e,4d,11,f3,ec,20,d3,d5,7e,51,f5,77,4f,59,d1,f1,1c,d3,1d,ac,41,19,1f,28,43,a1,96,90,dd,6a,71,94,d8,6f,aa,5f,7d,e7,7e,dd,73,4c,55,e5,70,06,2c,7f,07,d2,a7,ea,9c,",
"hdr2sdr_nv21_rgba8888": "16,e0,12,3d,a9,fc,b4,2e,e3,c3,f4,46,d1,35,71,25,86,c2,98,6a,64,82,b5,fc,2c,41,f0,7a,c8,08,0e,01,a5,7d,24,09,6c,34,f2,4b,fa,63,75,27,65,1d,7e,51,1c,18,92,11,32,74,f6,4e,25,27,14,28,b0,7f,c8,2c,",
"hdr2hdr_nv21_nv12": "2e,2f,3f,53,0b,7b,8e,71,3a,e6,81,93,d0,84,90,04,94,28,1d,b3,9c,13,3d,53,b6,84,c9,b1,85,c8,08,58,af,9c,3b,6c,42,32,d1,dd,37,e5,8e,0e,1e,ad,9f,84,25,8a,7a,ac,af,d6,e7,e4,1c,b8,50,60,86,0a,8d,c8,",
"hdr2hdr_nv21_rgba": "f5,f4,9d,4f,5a,fe,88,29,67,32,86,38,b5,76,2c,c7,ae,72,c2,61,87,b1,88,04,22,ff,a8,78,0d,d5,e4,8f,69,56,0a,1d,bb,bf,7c,3a,ee,75,17,a1,90,3e,4a,52,46,14,04,13,64,77,a5,11,54,7c,6c,ef,c7,db,50,9e,"
}
},
"vivid_pq_rgba.yuv": {
"rgba": {
"hdr2sdr_rgba_nv12": "5c,53,87,18,7b,34,e1,6f,df,03,d7,a7,a5,ab,ad,7f,8b,3c,22,da,85,31,fa,3a,13,82,32,d8,13,f0,70,ab,b6,8d,32,6b,03,fb,99,05,6b,a3,4a,d7,d8,7d,cc,28,c4,5e,a9,52,f5,81,43,98,3d,95,1f,7c,e8,7f,f5,e7,",
"hdr2sdr_rgba_rgba8888": "62,e3,68,63,fb,91,59,a9,05,99,0f,b8,c9,20,c8,53,6b,d4,6d,b4,50,8e,9a,ee,09,83,3b,57,3b,db,ad,00,ca,20,a9,ef,9c,98,d4,1c,2e,56,0a,19,56,54,ae,55,cf,19,8c,13,c3,9d,cf,c5,2e,a8,df,1c,79,ba,02,80,",
"hdr2hdr_rgba_nv12": "b8,c7,18,0e,82,ee,c9,86,66,d8,88,f0,ce,a7,87,2b,f8,3c,43,44,46,16,bb,b2,70,77,89,11,5c,88,dc,0b,25,6d,e6,e3,57,6a,5d,7f,d6,5e,9a,66,5d,c3,1b,9e,db,25,69,14,00,f5,8e,70,79,87,36,ac,ac,45,88,04,",
"hdr2hdr_rgba_rgba": "40,ca,0e,40,6b,f4,f6,df,8d,bd,ff,de,6f,e2,c6,42,da,d3,8a,25,17,48,4d,bb,c9,27,34,4a,c4,67,eb,29,e5,16,e5,0e,3c,86,10,d1,d8,57,78,35,5d,cc,44,0f,b2,66,5a,a5,bf,74,e9,0d,11,16,26,01,10,1c,08,b4,"
}
},
"vivid_hlg_nv12.yuv": {
"nv12": {
"hdr2sdr_nv12_nv12": "55,e0,40,6a,da,50,74,ad,f2,ae,16,2a,c7,5d,4d,0b,cc,cb,0e,92,4b,1c,12,af,13,7d,e1,c4,8d,16,8a,75,06,80,d6,de,8a,ab,aa,bc,2a,d5,9b,31,8e,63,7d,06,e2,5f,9f,c0,4c,24,fe,a5,f9,ee,ea,fc,ba,f7,12,b5,",
"hdr2sdr_nv12_rgba8888": "20,5e,09,b9,03,cd,a5,04,ea,1d,6a,cd,3b,ab,f5,52,a4,1e,a0,9d,fe,79,88,8d,d7,89,1e,6c,ab,4d,1d,6e,61,aa,72,ac,7a,fe,02,a1,98,db,92,13,07,8f,27,b8,e1,40,f8,42,a9,c1,c4,b9,37,b4,ee,fd,e3,18,f3,73,",
"hdr2hdr_nv12_nv12": "d9,5d,0b,4b,ff,97,f7,79,34,37,09,75,04,d5,01,ea,bb,c6,6d,eb,c8,70,b0,3f,d7,06,10,70,45,df,df,5e,38,49,6b,14,8a,8d,19,8e,45,8f,82,4d,89,15,6e,5b,ab,3b,d2,1a,30,13,f2,ac,8e,a9,4c,d4,8b,64,82,fb,",
"hdr2hdr_nv12_rgba": "07,58,0e,6c,53,60,01,04,fb,26,80,c7,5e,d6,6f,96,bd,8c,c3,01,5a,57,d1,8a,97,8c,55,c8,a3,4a,d0,9a,18,f4,56,02,2d,83,ec,e8,6f,e5,aa,1f,d8,f6,37,60,64,7e,8b,6f,42,6b,c9,b9,9b,f4,b0,8b,2f,cb,41,20,"
}
},
"vivid_hlg_nv21.yuv": {
"nv21": {
"hdr2sdr_nv21_nv12": "55,e0,40,6a,da,50,74,ad,f2,ae,16,2a,c7,5d,4d,0b,cc,cb,0e,92,4b,1c,12,af,13,7d,e1,c4,8d,16,8a,75,06,80,d6,de,8a,ab,aa,bc,2a,d5,9b,31,8e,63,7d,06,e2,5f,9f,c0,4c,24,fe,a5,f9,ee,ea,fc,ba,f7,12,b5,",
"hdr2sdr_nv21_rgba8888": "20,5e,09,b9,03,cd,a5,04,ea,1d,6a,cd,3b,ab,f5,52,a4,1e,a0,9d,fe,79,88,8d,d7,89,1e,6c,ab,4d,1d,6e,61,aa,72,ac,7a,fe,02,a1,98,db,92,13,07,8f,27,b8,e1,40,f8,42,a9,c1,c4,b9,37,b4,ee,fd,e3,18,f3,73,",
"hdr2hdr_nv21_nv12": "d9,5d,0b,4b,ff,97,f7,79,34,37,09,75,04,d5,01,ea,bb,c6,6d,eb,c8,70,b0,3f,d7,06,10,70,45,df,df,5e,38,49,6b,14,8a,8d,19,8e,45,8f,82,4d,89,15,6e,5b,ab,3b,d2,1a,30,13,f2,ac,8e,a9,4c,d4,8b,64,82,fb,",
"hdr2hdr_nv21_rgba": "07,58,0e,6c,53,60,01,04,fb,26,80,c7,5e,d6,6f,96,bd,8c,c3,01,5a,57,d1,8a,97,8c,55,c8,a3,4a,d0,9a,18,f4,56,02,2d,83,ec,e8,6f,e5,aa,1f,d8,f6,37,60,64,7e,8b,6f,42,6b,c9,b9,9b,f4,b0,8b,2f,cb,41,20,"
}
},
"vivid_hlg_rgba.yuv": {
"rgba": {
"hdr2sdr_rgba_nv12": "7d,a5,7b,db,02,48,55,90,a7,e6,21,4c,74,55,3d,95,95,b1,82,3b,92,5f,11,d4,2c,65,54,a3,8b,03,cb,92,07,36,2f,60,37,9f,db,89,36,4d,54,98,92,c8,a0,f3,1e,f0,75,93,b0,0d,22,93,21,e7,4c,c7,50,c5,2c,6d,",
"hdr2sdr_rgba_rgba8888": "5d,cd,30,8e,94,69,f7,0b,46,0a,79,d9,f6,bc,cf,c8,46,0c,af,62,f1,a6,a2,f1,9a,a6,45,ad,df,f4,c8,8d,f9,ac,aa,23,74,9b,d9,1a,2a,ca,85,21,cf,c5,f5,af,ff,79,27,a0,e5,08,82,69,d0,9c,ad,83,ed,42,79,90,",
"hdr2hdr_rgba_nv12": "b7,3c,3c,88,bf,b1,51,71,bf,ee,b9,35,24,fd,cb,79,e0,cb,e8,5d,61,5b,d7,89,7a,16,4e,4a,16,00,ca,cc,2f,df,23,fe,17,3d,d9,46,d3,c5,25,93,b7,58,11,27,81,41,f0,9d,55,90,6b,32,0f,be,35,6c,30,de,2c,82,",
"hdr2hdr_rgba_rgba": "6c,e1,39,2c,60,4b,8d,ea,70,ea,8b,63,46,f2,0c,89,8e,df,89,1f,6c,ab,96,4b,3c,81,1e,ab,31,be,1c,c0,fb,4b,48,6b,e1,df,ce,97,ea,a5,a4,fc,b7,17,c0,88,11,b5,59,c3,eb,de,51,bd,81,ff,1e,8f,b9,d0,18,05,"
}
},
"ebu_nv12.yuv": {
"nv12": {
"sdr2sdr_nv12_nv12": "23,49,cb,fd,07,b8,df,14,33,65,22,5d,9d,85,83,d4,f2,7d,79,f4,a8,1d,9d,51,47,fd,0c,43,09,98,19,a1,8a,82,22,60,b3,73,d7,ff,be,2b,c5,7a,8a,83,68,6d,a7,b5,b4,82,b0,22,fb,9d,c2,f5,ff,4a,ee,91,6d,00,",
"sdr2sdr_nv12_nv21": "e3,c2,6d,27,60,10,33,2e,6b,ad,ca,d4,70,66,18,8d,7a,3f,97,11,f5,b0,48,6c,b1,aa,25,b6,99,74,32,3e,a7,b5,c8,b0,37,3d,97,70,78,bb,94,68,a7,b3,4b,86,5d,02,3e,77,c0,47,2f,83,cc,2e,9c,34,74,4a,4e,af,",
"sdr2sdr_nv12_rgba": "55,be,49,72,e3,cc,09,da,52,51,02,65,22,5e,fd,4d,15,6d,43,f9,ae,48,7d,e7,03,4d,0d,4f,06,d4,01,90,0b,c1,88,5f,29,68,f0,a3,ff,90,17,28,df,9b,94,63,9c,0e,d6,c8,55,8e,f4,a8,45,b2,50,b8,37,79,ff,58,"
}
},
"ebu_nv21.yuv": {
"nv21": {
"sdr2sdr_nv21_nv12": "23,49,cb,fd,07,b8,df,14,33,65,22,5d,9d,85,83,d4,f2,7d,79,f4,a8,1d,9d,51,47,fd,0c,43,09,98,19,a1,8a,82,22,60,b3,73,d7,ff,be,2b,c5,7a,8a,83,68,6d,a7,b5,b4,82,b0,22,fb,9d,c2,f5,ff,4a,ee,91,6d,00,",
"sdr2sdr_nv21_nv21": "e3,c2,6d,27,60,10,33,2e,6b,ad,ca,d4,70,66,18,8d,7a,3f,97,11,f5,b0,48,6c,b1,aa,25,b6,99,74,32,3e,a7,b5,c8,b0,37,3d,97,70,78,bb,94,68,a7,b3,4b,86,5d,02,3e,77,c0,47,2f,83,cc,2e,9c,34,74,4a,4e,af,",
"sdr2sdr_nv21_rgba": "55,be,49,72,e3,cc,09,da,52,51,02,65,22,5e,fd,4d,15,6d,43,f9,ae,48,7d,e7,03,4d,0d,4f,06,d4,01,90,0b,c1,88,5f,29,68,f0,a3,ff,90,17,28,df,9b,94,63,9c,0e,d6,c8,55,8e,f4,a8,45,b2,50,b8,37,79,ff,58,"
}
},
"ebu_rgba.yuv": {
"rgba": {
"sdr2sdr_rgba_nv12": "28,f6,92,00,15,81,36,bc,cf,a3,77,5d,2e,89,20,d3,a8,75,d6,6c,fd,a3,c5,d4,16,77,c7,10,85,f9,3c,8c,fa,a1,72,de,bd,5c,fa,ce,da,b8,a7,5d,9d,d3,3e,1f,b5,a6,2f,7f,1a,de,c6,80,a1,1c,0c,c9,3c,a8,02,bc,",
"sdr2sdr_rgba_nv21": "19,0f,e6,df,60,d7,db,4a,28,19,75,95,ce,3f,5b,fe,49,00,fd,33,b1,f0,f1,0b,59,9c,72,98,e7,26,b1,b5,d8,e4,55,16,ee,ef,1b,5f,ff,6a,4b,c3,8c,f8,99,33,75,8b,f5,60,0f,a8,77,18,a8,04,6d,b6,25,df,d4,b2,",
"sdr2sdr_rgba_rgba": "73,6a,c6,f3,85,35,d1,c4,5f,8f,04,19,83,4e,af,80,3c,16,00,a5,e7,bf,94,56,33,a0,f5,e5,75,94,82,cc,0f,ea,42,3a,41,d7,45,68,b5,72,ce,21,c5,e3,60,30,7f,13,d0,e8,3a,c1,f6,c8,fb,77,51,99,44,2f,a1,a7,"
}
},
"smptec_nv12.yuv": {
"nv12": {
"sdr2sdr_nv12_nv12": "09,10,0e,63,d7,16,db,ad,d1,04,42,d4,e9,71,77,5b,e3,b5,30,ff,a6,da,4f,6d,5c,10,c0,1f,73,bb,5a,1d,3a,7e,ad,de,87,67,5c,d0,2a,09,cd,7e,ed,50,77,66,aa,1b,9c,2a,30,ee,b8,01,90,38,0a,94,65,fa,e3,7c,",
"sdr2sdr_nv12_nv21": "f7,da,c8,86,5d,eb,cc,72,a7,b5,0f,15,ad,2e,56,d1,3a,a9,b7,38,84,5a,cd,4b,4b,b9,03,e5,87,e7,a4,37,d0,68,ae,9a,03,82,79,9c,40,ed,c5,bf,35,f8,54,68,fc,3f,6c,71,fc,1c,2e,69,ea,0a,ee,29,00,43,72,01,",
"sdr2sdr_nv12_rgba": "52,93,66,48,b0,d6,9e,4f,4b,38,26,a2,72,1f,86,41,8c,4e,10,d3,cf,99,02,b7,09,59,19,5a,3d,c3,ab,c4,e1,3b,80,32,d2,51,2b,8b,fa,02,de,dd,3c,28,5e,a9,4b,08,1d,70,91,1a,cc,f3,ad,6c,1d,93,69,77,f0,83,"
}
},
"smptec_nv21.yuv": {
"nv21": {
"sdr2sdr_nv21_nv12": "09,10,0e,63,d7,16,db,ad,d1,04,42,d4,e9,71,77,5b,e3,b5,30,ff,a6,da,4f,6d,5c,10,c0,1f,73,bb,5a,1d,3a,7e,ad,de,87,67,5c,d0,2a,09,cd,7e,ed,50,77,66,aa,1b,9c,2a,30,ee,b8,01,90,38,0a,94,65,fa,e3,7c,",
"sdr2sdr_nv21_nv21": "f7,da,c8,86,5d,eb,cc,72,a7,b5,0f,15,ad,2e,56,d1,3a,a9,b7,38,84,5a,cd,4b,4b,b9,03,e5,87,e7,a4,37,d0,68,ae,9a,03,82,79,9c,40,ed,c5,bf,35,f8,54,68,fc,3f,6c,71,fc,1c,2e,69,ea,0a,ee,29,00,43,72,01,",
"sdr2sdr_nv21_rgba": "52,93,66,48,b0,d6,9e,4f,4b,38,26,a2,72,1f,86,41,8c,4e,10,d3,cf,99,02,b7,09,59,19,5a,3d,c3,ab,c4,e1,3b,80,32,d2,51,2b,8b,fa,02,de,dd,3c,28,5e,a9,4b,08,1d,70,91,1a,cc,f3,ad,6c,1d,93,69,77,f0,83,"
}
},
"smptec_rgba.yuv": {
"rgba": {
"sdr2sdr_rgba_nv12": "e0,ea,55,94,e1,e2,d6,0a,a2,35,31,76,48,b0,14,4e,4a,79,b5,ab,d1,52,71,b6,5a,d0,1a,c1,af,cb,6c,4c,7e,ab,b6,bc,72,78,d5,ec,06,70,90,2e,7b,dc,19,50,58,bd,81,4a,36,cd,7b,48,83,d0,8b,38,04,66,35,77,",
"sdr2sdr_rgba_nv21": "91,30,90,c4,b2,a8,c0,89,d6,66,1b,d0,ca,40,9e,d0,d3,f9,b2,31,82,dd,f1,93,a5,21,bb,15,c8,fd,f7,6b,31,15,dc,d2,eb,eb,c9,77,a6,f6,15,10,15,2c,f2,29,0e,9c,4a,e9,54,71,3e,47,5c,2a,84,d1,7b,d6,39,1b,",
"sdr2sdr_rgba_rgba": "55,52,dd,e1,19,c6,ee,63,10,70,9c,92,f2,7a,22,f8,7c,fb,ec,f1,a9,74,56,62,3d,44,2d,4a,47,c3,3f,4b,67,8b,be,35,31,27,3c,8d,b7,b6,46,db,c5,fc,5d,30,21,57,9e,4f,13,d4,7f,49,12,54,9c,2b,3d,69,e9,97,"
}
},
"pq_nv12.yuv": {
"nv12": {
"hdr2hdr_nv12_nv12": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,",
"hdr2hdr_nv12_rgba": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,",
"metadata_generate": "e8,4e,c0,ad,2e,59,bd,de,ef,3e,36,24,51,fe,87,bd,15,1a,44,68,a9,bd,94,04,79,a6,82,20,2f,ab,9a,1d,4a,82,33,e9,d3,4c,36,90,8a,28,e3,f9,41,e8,9e,86,e0,0d,9e,e9,49,c5,e4,70,d7,d5,44,de,09,04,3a,6d,"
}
},
"pq_nv21.yuv": {
"nv21": {
"hdr2hdr_nv21_nv12": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,",
"hdr2hdr_nv21_rgba": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,",
"metadata_generate": "7f,b8,85,39,62,55,47,e6,64,b1,39,7c,21,cc,b7,c6,77,c0,6e,41,ba,fa,49,53,b6,52,20,c9,48,01,4d,a7,9a,e9,c3,41,bc,75,3d,eb,61,b2,ae,e0,25,47,4d,70,51,37,c9,99,75,98,01,5a,cd,9b,af,34,29,6a,04,01,"
}
},
"pq_rgba.yuv": {
"rgba": {
"hdr2hdr_rgba_nv12": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,",
"hdr2hdr_rgba_rgba": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,",
"metadata_generate": "4a,3a,e6,58,a2,06,70,3b,15,05,0a,a7,f2,cf,5d,ac,ef,f0,a1,9a,00,ce,ff,b3,8a,cb,ac,ca,5c,26,b1,12,1e,aa,9d,9e,bc,19,9a,cd,89,c9,ea,f5,bf,3b,8f,f8,0e,72,a8,55,b8,eb,60,7c,53,99,88,a7,1b,29,40,67,"
}
},
"hlg_nv12.yuv": {
"nv12": {
"metadata_generate": "8b,dd,94,64,0a,ef,de,11,c3,37,f0,84,f8,be,fb,08,b5,0a,6d,2d,47,00,6d,81,7a,b1,63,f6,4d,1f,4b,8f,84,87,58,20,88,7b,de,20,a5,18,04,a1,84,ca,ae,83,51,2e,bd,46,df,9a,00,84,ad,5d,c5,91,c3,b2,85,04,"
}
},
"hlg_nv21.yuv": {
"nv21": {
"metadata_generate": "e1,f3,ce,82,ad,ac,36,5d,85,63,b1,9f,32,52,2a,fa,e5,e4,b1,ad,77,d8,72,69,8f,cf,e4,dd,10,28,48,88,86,7b,77,a6,fa,14,ab,95,18,93,39,61,cd,bf,49,26,eb,e0,09,f5,34,c7,05,95,ca,34,c4,76,3e,f4,ba,51,"
}
},
"hlg_rgba.yuv": {
"rgba": {
"metadata_generate": "3f,7d,2f,71,af,b8,65,07,02,3a,0b,c0,da,52,02,50,44,ec,55,4a,60,e7,32,ca,f9,e6,32,3f,15,ee,f6,b1,8b,d3,8c,42,f8,a6,f9,2f,d9,76,1d,66,99,26,4f,d8,c2,2a,07,c9,da,6d,14,f9,46,a3,90,87,45,34,18,32,",
"metadata_generate_secondary": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,"
}
},
"default": {
"default": "cf,83,e1,35,7e,ef,b8,bd,f1,54,28,50,d6,6d,80,07,d6,20,e4,05,0b,57,15,dc,83,f4,a9,21,d3,6c,e9,ce,47,d0,d1,3c,5d,85,f2,b0,ff,83,18,d2,87,7e,ec,2f,63,b9,31,bd,47,41,7a,81,a5,38,32,7a,f9,27,da,3e,"
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
+61 -80
View File
@@ -74,37 +74,18 @@ namespace {
static int32_t g_userValue = 1;
static int32_t g_index = 1;
static void onErrorEmptyCallback(OH_VideoProcessing* videoProcessor, VideoProcessing_ErrorCode error,
void* userData)
{
//do nothing
}
static void onErrorCallback(OH_VideoProcessing* videoProcessor, VideoProcessing_ErrorCode error,
void* userData)
{
cout << "onErrorCallback" << endl;
}
static void onStateEmptyCallback(OH_VideoProcessing* videoProcessor, VideoProcessing_State state,
void* userData)
{
//do nothing
}
static void onStateCallback(OH_VideoProcessing* videoProcessor, VideoProcessing_State state,
void* userData)
{
cout << "onStateCallback" << endl;
}
static void OnNewOutputBufferEmptyCallback(OH_VideoProcessing* videoProcessor, uint32_t index,
void* userData)
{
//do nothing
}
static void OnNewOutputBufferCallback(OH_VideoProcessing* videoProcessor, uint32_t index,
void* userData)
{
@@ -119,7 +100,7 @@ static void OnNewOutputBufferCallback(OH_VideoProcessing* videoProcessor, uint32
HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0010, TestSize.Level0)
{
VideoProcessing_ErrorCode ret = OH_VideoProcessing_InitializeEnvironment();
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_SUCCESS);
@@ -135,7 +116,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0010, TestSize.Level0)
HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0020, TestSize.Level0)
{
VideoProcessing_ErrorCode ret = OH_VideoProcessing_DeinitializeEnvironment();
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED);
@@ -150,7 +131,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0020, TestSize.Level0)
HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0030, TestSize.Level0)
{
VideoProcessing_ErrorCode ret = OH_VideoProcessing_InitializeEnvironment();
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_DeinitializeEnvironment();
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -168,7 +149,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0040, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
bool ret = OH_VideoProcessing_IsColorSpaceConversionSupported(nullptr, nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_FALSE(ret);
}
OH_VideoProcessing_DeinitializeEnvironment();
@@ -183,7 +164,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0050, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
bool ret = OH_VideoProcessing_IsColorSpaceConversionSupported(&SRC_INFO, nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_FALSE(ret);
}
}
@@ -197,7 +178,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0060, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
bool ret = OH_VideoProcessing_IsColorSpaceConversionSupported(nullptr, &DST_INFO);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_FALSE(ret);
}
}
@@ -211,7 +192,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0070, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
bool ret = OH_VideoProcessing_IsColorSpaceConversionSupported(&SRC_INFO, &DST_INFO);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_FALSE(ret);
}
}
@@ -225,7 +206,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0080, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
bool ret = OH_VideoProcessing_IsMetadataGenerationSupported(nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_FALSE(ret);
}
}
@@ -239,7 +220,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0090, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
bool ret = OH_VideoProcessing_IsMetadataGenerationSupported(&SRC_INFO);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_TRUE(ret);
} else {
ASSERT_FALSE(ret);
@@ -256,7 +237,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0100, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
OH_VideoProcessing** videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(videoProcessor, INT_MAX);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
@@ -274,7 +255,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0110, TestSize.Level0)
OH_VideoProcessing** videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
@@ -291,7 +272,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0120, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor, INT_MAX);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -310,7 +291,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0130, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_SUCCESS);
@@ -327,7 +308,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0140, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Destroy(nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
}
}
@@ -343,7 +324,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0150, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_Destroy(videoProcessor);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -359,7 +340,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0160, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_RegisterCallback(nullptr, nullptr, nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
@@ -376,7 +357,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0170, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_RegisterCallback(nullptr, callback, nullptr);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -395,7 +376,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0180, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_RegisterCallback(videoProcessor, nullptr, nullptr);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
@@ -414,7 +395,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0190, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
VideoProcessing_Callback* callback = nullptr;
ret = OH_VideoProcessingCallback_Create(&callback);
@@ -437,7 +418,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0200, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
VideoProcessing_Callback* callback = nullptr;
ret = OH_VideoProcessingCallback_Create(&callback);
@@ -460,7 +441,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0210, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
VideoProcessing_Callback* callback = nullptr;
ret = OH_VideoProcessingCallback_Create(&callback);
@@ -468,7 +449,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0210, TestSize.Level0)
void* userData = &g_userValue;
if (!userData)
{
ret = OH_VideoProcessing_RegisterCallback( videoProcessor, callback, userData);
ret = OH_VideoProcessing_RegisterCallback(videoProcessor, callback, userData);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
}
OH_VideoProcessing_Destroy(videoProcessor);
@@ -485,7 +466,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0220, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_SetSurface(nullptr, nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -509,7 +490,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0230, TestSize.Level0)
OHNativeWindow *window = nullptr;
window = CreateNativeWindowFromSurface(&ps);
VideoProcessing_ErrorCode ret = OH_VideoProcessing_SetSurface(nullptr, window);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -528,7 +509,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0240, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_SetSurface(videoProcessor, nullptr);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -557,7 +538,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0250, TestSize.Level0)
OHNativeWindow *window = nullptr;
window = CreateNativeWindowFromSurface(&ps);
ret = OH_VideoProcessing_SetSurface(videoProcessor, window);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_SUCCESS);
@@ -575,7 +556,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0260, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_GetSurface(nullptr, nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -599,7 +580,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0270, TestSize.Level0)
OHNativeWindow *window = nullptr;
window = CreateNativeWindowFromSurface(&ps);
VideoProcessing_ErrorCode ret = OH_VideoProcessing_GetSurface(nullptr, &window);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -620,7 +601,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0280, TestSize.Level0)
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_GetSurface(videoProcessor, nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_VALUE);
@@ -649,7 +630,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0290, TestSize.Level0)
OHNativeWindow *window = nullptr;
window = CreateNativeWindowFromSurface(&ps);
ret = OH_VideoProcessing_GetSurface(videoProcessor, &window);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_SUCCESS);
@@ -667,7 +648,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0300, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Start(nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -685,7 +666,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0310, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_Start(videoProcessor);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED);
@@ -714,7 +695,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0320, TestSize.Level0)
OHNativeWindow *window = nullptr;
window = CreateNativeWindowFromSurface(&ps);
ret = OH_VideoProcessing_SetSurface(videoProcessor, window);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_Start(videoProcessor);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -732,7 +713,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0330, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Stop(nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -750,7 +731,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0340, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_Stop(videoProcessor);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED);
@@ -779,7 +760,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0350, TestSize.Level0)
OHNativeWindow *window = nullptr;
window = CreateNativeWindowFromSurface(&ps);
ret = OH_VideoProcessing_SetSurface(videoProcessor, window);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_Start(videoProcessor);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -799,7 +780,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0360, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessing_RenderOutputBuffer(nullptr, g_index);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_INSTANCE);
@@ -819,7 +800,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0370, TestSize.Level0)
VIDEO_PROCESSING_TYPE_METADATA_GENERATION);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessing_RenderOutputBuffer(videoProcessor, INT_MAX);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -836,7 +817,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0380, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -853,7 +834,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0390, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_SUCCESS);
@@ -870,7 +851,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0400, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Destroy(nullptr);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -887,7 +868,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0410, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_Destroy(callback);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -903,8 +884,8 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0420, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_BindOnError(
nullptr, onErrorEmptyCallback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
nullptr, onErrorCallback);
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -921,10 +902,10 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0430, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_BindOnError(
callback, onErrorEmptyCallback);
callback, onErrorCallback);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
}
OH_VideoProcessingCallback_Destroy(callback);
@@ -940,7 +921,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0440, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_BindOnError(
nullptr, onErrorCallback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -957,7 +938,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0450, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_BindOnError(callback, onErrorCallback);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -974,8 +955,8 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0460, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_BindOnState(
nullptr, onStateEmptyCallback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
nullptr, OnNewOutputBufferCallback);
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -992,9 +973,9 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0470, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_BindOnState(callback, onStateEmptyCallback);
ret = OH_VideoProcessingCallback_BindOnState(callback, OnNewOutputBufferCallback);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
}
OH_VideoProcessingCallback_Destroy(callback);
@@ -1009,7 +990,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0480, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_BindOnState(nullptr, onStateCallback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -1026,7 +1007,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0490, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_BindOnState(callback, onStateCallback);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -1043,8 +1024,8 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0500, TestSize.Level0)
{
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_BindOnNewOutputBuffer(
nullptr, OnNewOutputBufferEmptyCallback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
nullptr, OnNewOutputBufferCallback);
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -1061,9 +1042,9 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0510, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_BindOnNewOutputBuffer(callback, OnNewOutputBufferEmptyCallback);
ret = OH_VideoProcessingCallback_BindOnNewOutputBuffer(callback, OnNewOutputBufferCallback);
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
}
OH_VideoProcessingCallback_Destroy(callback);
@@ -1079,7 +1060,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0520, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_BindOnNewOutputBuffer(
nullptr, OnNewOutputBufferCallback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
} else {
ASSERT_NE(ret, VIDEO_PROCESSING_ERROR_INVALID_PARAMETER);
@@ -1096,7 +1077,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0530, TestSize.Level0)
OH_VideoProcessing_InitializeEnvironment();
VideoProcessing_Callback* callback = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessingCallback_Create(&callback);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
ret = OH_VideoProcessingCallback_BindOnNewOutputBuffer(callback, OnNewOutputBufferCallback);
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
@@ -1115,7 +1096,7 @@ HWTEST_F(VpeVideoApiTest, VPE_VIDEO_API_TEST_0540, TestSize.Level0)
OH_VideoProcessing* videoProcessor = nullptr;
VideoProcessing_ErrorCode ret = OH_VideoProcessing_Create(&videoProcessor,
VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", 0)) {
if (!access("/system/lib64/", 0)) {
if (OH_VideoProcessing_IsColorSpaceConversionSupported(&SRC_INFO, &DST_INFO)) {
ASSERT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
OH_VideoProcessing_Destroy(videoProcessor);
-2
View File
@@ -16,8 +16,6 @@
#include <chrono>
#include "gtest/gtest.h"
#include "video_processing.h"
#include "yuv_viewer.h"
#include "video_sample.h"
using namespace std;
using namespace OHOS;
+259 -175
View File
@@ -16,7 +16,6 @@
#include <chrono>
#include "gtest/gtest.h"
#include "video_processing.h"
#include "yuv_viewer.h"
#include "enum_list.h"
#include "video_sample.h"
using namespace std;
@@ -24,9 +23,10 @@ using namespace OHOS;
using namespace testing::ext;
namespace {
constexpr uint32_t DEFAULT_WIDTH = 3840;
constexpr uint32_t DEFAULT_HEIGHT = 2160;
static uint32_t g_allTestCount = 0;
static uint32_t g_supportedCount = 0;
static uint32_t g_unsupportedCount = 0;
std::unique_ptr<std::ofstream> outputListFile = nullptr;
class VpeVideoReliTest : public testing::Test {
public:
@@ -50,204 +50,288 @@ void VpeVideoReliTest::TearDownTestCase()
}
void VpeVideoReliTest::SetUp()
{
g_allTestCount = 0;
g_supportedCount = 0;
g_unsupportedCount = 0;
}
void VpeVideoReliTest::TearDown()
{
}
}
namespace {
int32_t TestUnsupportedOutput(int32_t inColorSpace, int32_t inPixFmt)
static bool CheckHDRColorSpaceAndPixFmt(VideoProcessing_ColorSpaceInfo info)
{
for (int i : g_nativeBufferColorSpace) {
for (int j : g_nativeBufferFormat) {
for (int k : g_nativeBufferMetadataType) {
std::unique_ptr<VideoSample> sample = std::make_unique<VideoSample>();
sample->inputFrameNumber = 1;
VideoProcessParam param = {inPixFmt, inColorSpace, j, i};
int32_t ret = sample->InitVideoSample(VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION,
DEFAULT_WIDTH, DEFAULT_HEIGHT, param);
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
EXPECT_EQ(ret, VIDEO_PROCESSING_SUCCESS);
sample->StartProcess();
EXPECT_NE(sample->WaitAndStopSample(), VIDEO_PROCESSING_SUCCESS);
}
if ((info.metadataType == OH_VIDEO_HDR_HLG) && (info.colorSpace != OH_COLORSPACE_BT2020_HLG_LIMIT)) {
return false;
}
if ((info.metadataType == OH_VIDEO_HDR_HDR10) && (info.colorSpace != OH_COLORSPACE_BT2020_PQ_LIMIT)) {
return false;
}
switch (info.colorSpace) {
case OH_COLORSPACE_BT2020_HLG_LIMIT:
case OH_COLORSAPCE_BT2020_PQ_LIMIT:
break;
default:
return false;
}
switch (info.pixelFormat) {
case NATIVEBUFFER_PIXEL_FMT_YCBCR_P010:
case NATIVEBUFFER_PIXEL_FMT_YCRCB_P010:
case NATIVEBUFFER_PIXEL_FMT_RGBA_1010102:
return true;
default:
return false;
}
}
static bool CheckSupportedMetadataGen(VideoProcessing_ColorSpaceInfo info)
{
switch (info.metadataType) {
case OH_VIDEO_HDR_HLG:
case OH_VIDEO_HDR_HDR10:
case OH_VIDEO_HDR_VIVID:
break;
default:
return false;
}
return CheckHDRColorSpaceAndPixFmt(info);
}
static std::string BoolToString(bool val)
{
if (val) {
return "true";
}
return "false";
}
void CheckMetadataGen(VideoProcessing_ColorSpaceInfo info)
{
bool expectVal = CheckSupportedMetadataGen(info);
bool realVal = OH_VideoProcessing_IsMetadataGenerationSupported(&info);
if (expectVal != realVal) {
string msg = "-----------------------------------------------\n";
msg += "metadata gen type:" + metadataString[info.metadataType] + "\n";
msg += "colorspace:" + colorString[info.colorSpace] + "\n";
msg += "format:" formatString[info.pixelFormat] + "\n";
msg += "expect" + BoolToString(expectVal) + " actual:" BoolToString(realVal) + "\n";
msg += "-----------------------------------------------\n";
outputListFile->write(msg.c_str(), msg.size());
g_unsupportedCount++;
} else {
g_supportedCount++;
}
g_allTestCount++;
}
static bool CheckVideoHDRVivid2SDR(VideoProcessing_ColorSpaceInfo outInfo)
{
switch (outInfo.metadataType) {
case OH_VIDEO_HDR_HLG:
case OH_VIDEO_HDR_HDR10:
case OH_VIDEO_HDR_VIVID:
return false;
default:
break;
}
switch (outInfo.colorSpace) {
case OH_COLORSPACE_BT709_LIMIT:
break;
default:
return false;
}
switch (outInfo.pixelFormat) {
case NATIVEBUFFER_PIXEL_FMT_YCBCR_420_SP:
case NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP:
case NATIVEBUFFER_PIXEL_FMT_RGBA_8888:
return true;
default:
return false;
}
}
static bool CheckVideoVivid2Vivid(VideoProcessing_ColorSpaceInfo outInfo)
{
if (outInfo.metadataType != OH_VIDEO_HDR_VIVID) {
return false;
}
return CheckHDRColorSpaceAndPixFmt(outInfo);
}
static bool CheckVideoVivid2HDR(VideoProcessing_ColorSpaceInfo outInfo)
{
if (outInfo.metadataType != OH_VIDEO_HDR_HLG) {
return false;
}
return CheckHDRColorSpaceAndPixFmt(outInfo);
}
static bool CheckVideoHDR2HDR(VideoProcessing_ColorSpaceInfo outInfo)
{
if (outInfo.metadataType != OH_VIDEO_HDR_HLG) {
return false;
}
return CheckHDRColorSpaceAndPixFmt(outInfo);
}
static bool IsHDRConvert(VideoProcessing_ColorSpaceInfo inInfo, VideoProcessing_ColorSpaceInfo outInfo)
{
if (!CheckHDRColorSpaceAndPixFmt(inInfo)) {
return false;
}
if (inInfo.metadataType == OH_VIDEO_HDR_VIVID) {
if (inInfo.colorSpace == outInfo.colorSpace) {
return false;
}
bool isHDR2SDR = CheckVideoHDRVivid2SDR(outInfo);
bool isHDR2HDR = CheckVideoVivid2Vivid(outInfo);
bool isHDRVivid2HDR = false;
if (inInfo.colorSpace == OH_COLORSPACE_BT2020_PQ_LIMIT) {
isHDRVivid2HDR = CheckVideoVivid2HDR(outInfo);
}
return (isHDR2SDR || isHDR2HDR || isHDRVivid2HDR);
} else if (inInfo.metadataType == OH_VIDEO_HDR_HLG) {
return false;
} else {
if (inInfo.colorSpace == outInfo.ColorSpace) {
return false;
}
return CheckVideoHDR2HDR(outInfo);
}
}
static bool IsSDRConvert(VideoProcessing_ColorSpaceInfo inInfo, VideoProcessing_ColorSpaceInfo outInfo)
{
if (inInfo.colorSpace != OH_COLORSPACE_BT601_EBU_LIMIT && inInfo.colorSpace != OH_COLORSPACE_BT601_SMPTE_C_LIMIT) {
return false;
}
switch (inInfo.pixelFormat) {
case NATIVEBUFFER_PIXEL_FMT_YCBCR_420_SP:
case NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP:
case NATIVEBUFFER_PIXEL_FMT_RGBA_8888:
break;
default:
return false;
}
switch (outInfo.metadataType) {
case OH_VIDEO_HDR_HLG:
case OH_VIDEO_HDR_HDR10:
case OH_VIDEO_HDR_VIVID:
return false;
default:
break;
}
if (outInfo.colorSpace != OH_COLORSPACE_BT709_LIMIT) {
return false;
}
switch (outInfo.pixelFormat) {
case NATIVEBUFFER_PIXEL_FMT_YCBCR_420_SP:
case NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP:
case NATIVEBUFFER_PIXEL_FMT_RGBA_8888:
return true;
default:
return false;
}
}
static void CheckColorSpaceConvert(VideoProcessing_ColorSpaceInfo inInfo, VideoProcessing_ColorSpaceInfo outInfo)
{
bool expectVal = false;
switch (inInfo.metadataType) {
case OH_VIDEO_HDR_HLG:
case OH_VIDEO_HDR_HDR10:
case OH_VIDEO_HDR_VIVID:
expectVal = IsHDRConvert(inInfo, outInfo);
break;
default:
expectVal = IsSDRConvert(inInfo, outInfo);
break;
}
bool realVal = OH_VideoProcessing_IsColorSpaceConversionSupported(&inInfo, &outInfo);
if (expectVal != realVal) {
string msg = "-----------------------------------------------\n";
msg += "convet in type:" + metadataString[inInfo.metadataType] + "\n";
msg += "colorspace:" + colorString[inInfo.colorSpace] + "\n";
msg += "format:" formatString[inInfo.pixelFormat] + "\n";
msg += "convet out type:" + metadataString[outInfo.metadataType] + "\n";
msg += "colorspace:" + colorString[outInfo.colorSpace] + "\n";
msg += "format:" formatString[outInfo.pixelFormat] + "\n";
msg += "expect" + BoolToString(expectVal) + " actual:" BoolToString(realVal) + "\n";
msg += "-----------------------------------------------\n";
outputListFile->write(msg.c_str(), msg.size());
g_unsupportedCount++;
} else {
g_supportedCount++;
}
g_allTestCount++;
}
static void GenOutputOptions(VideoProcessing_ColorSpaceInfo inInfo)
{
for (int i :NativeBuffer_MetadataType) {
for (int j : NativeBuffer_ColorSpace) {
for (int k : NativeBuffer_Format) {
VideoProcessing_ColorSpaceInfo outInfo;
outInfo.metadataType = i;
outInfo.colorSpace = j;
outInfo.pixelFormat = k;
CheckColorSpaceConvert(inInfo, outInfo);
}
}
}
}
bool ValidatePixelFormat(ImageProcessing_ColorSpaceInfo formatImage)
{
if (formatImage == nullptr) {
return false;
}
bool ret = (formatImage.pixelFormat == NATIVEBUFFER_PIXEL_FMT_YCBCR_420_SP ||
formatImage.pixelFormat == NATIVEBUFFER_PIXEL_FMT_YCRCB_420_SP ||
formatImage.pixelFormat == NATIVEBUFFER_PIXEL_FMT_RGBA_8888);
return ret;
}
bool IsSRGBColorSpace(ImageProcessing_ColorSpaceInfo formatImage)
{
bool isSRGBColorSpace = (formatImage.colorSpace == OH_COLORSPACE_SRGB_FULL ||
formatImage.colorSpace == OH_COLORSPACE_SRGB_LIMIT ||
formatImage.colorSpace == OH_COLORSPACE_LINEAR_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_BT2020_SRGB);
return isSRGBColorSpace;
}
/**
* @tc.number : VPE_VIDEO_RELI_TEST_0010
* @tc.name : test all unsupported convert options
* @tc.name : test all metadataGenerate options
* @tc.desc : function test
*/
HWTEST(VpeVideoReliTest, VPE_VIDEO_RELI_TEST_0010, TestSize.Level0)
HWTEST_F(VpeVideoReliTest, VPE_VIDEO_RELI_TEST_0010, TestSize.Level2)
{
for (int i : g_nativeBufferColorSpace) {
for (int j : g_nativeBufferFormat) {
TestUnsupportedOutput(i, j);
outputListFile = std::make_unique<std::ofstream>("/data/test/media/metadataSupportList.txt");
for (int i : NativeBuffer_MetadataType) {
for (int j : NativeBuffer_ColorSpace) {
for (int k : NativeBuffer_Format) {
VideoProcessing_ColorSpaceInfo info;
info.metadataType = i;
info.colorSpace = j;
info.pixelFormat = k;
CheckMetadataGen(info);
}
}
}
cout << "all test " << g_allTestCount <<endl;
cout << "matched test " << g_supportedCount <<endl;
cout<< " mismatched test" << g_unsupportedCount <<endl;
outputListFile->close();
outputListFile = nullptr;
ASSERT_EQ(g_unsupportedCount, 0);
}
/**
* @tc.number : METADATASUPPORT_001
* @tc.name : test all unsupported metadata generation
* @tc.number : VPE_VIDEO_RELI_TEST_0020
* @tc.name : test all colorspace convert options
* @tc.desc : function test
*/
HWTEST_F(VpeVideoReliTest, METADATASUPPORT_001, TestSize.Level2)
HWTEST_F(VpeVideoReliTest, VPE_VIDEO_RELI_TEST_0020, TestSize.Level2)
{
VideoProcessing_ColorSpaceInfo inputFormat;
for (int i : g_nativeBufferMetadataType) {
for (int j: g_nativeBufferColorSpace) {
for (int k : g_nativeBufferFormat) {
inputFormat.metadataType = i;
inputFormat.colorSpace = j;
inputFormat.pixelFormat = k;
bool ret = OH_VideoProcessing_IsMetadataGenerationSupported(inputFormat);
outputListFile = std::make_unique<std::ofstream>("/data/test/media/convertSupportList.txt");
for (int i : NativeBuffer_MetadataType) {
for (int j : NativeBuffer_ColorSpace) {
for (int k : NativeBuffer_Format) {
VideoProcessing_ColorSpaceInfo info;
info.metadataType = i;
info.colorSpace = j;
info.pixelFormat = k;
GenOutputOptions(info);
}
}
}
}
void CheckCapability(VideoProcessing_ColorSpaceInfo inputFormat)
{
if (IsSRGBColorSpace()) {
if (ValidatePixelFormat(formatImage)) {
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
if (!access("/system/lib64/media/", 0)) {
ASSERT_EQ(true, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
} else {
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
}
}
if (formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_HLG ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_PQ) {
if (ValidatePixelFormat(formatImage)) {
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
if (!access("/system/lib64/media/", 0)) {
ASSERT_EQ(true, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
} else {
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
}
}
if (formatImage.colorSpace == OH_COLORSPACE_ADOBERGB_FULL ||
formatImage.colorSpace == OH_COLORSPACE_ADOBERGB_LIMIT) {
if (ValidatePixelFormat(formatImage)) {
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
if (!access("/system/lib64/media/", 0)) {
ASSERT_EQ(true, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
} else {
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
}
}
}
HWTEST_F(VpeVideoReliTest, METADATASUPPORT_002, TestSize.Level2)
{
ImageProcessing_ColorSpaceInfo formatImage;
for (int i : g_nativeBufferMetadataType) {
for (int j: g_nativeBufferColorSpace) {
for (int k : g_nativeBufferFormat) {
formatImage.metadataType = i;
formatImage.colorSpace = j;
formatImage.pixelFormat = k;
CheckCapability(formatImage);
}
}
}
}
HWTEST_F(VpeVideoReliTest, METADATASUPPORT_003, TestSize.Level2)
{
ImageProcessing_ColorSpaceInfo formatImage;
for (int i : g_nativeBufferMetadataType) {
for (int j: g_nativeBufferColorSpace) {
for (int k : g_nativeBufferFormat) {
formatImage.metadataType = i;
formatImage.colorSpace = j;
formatImage.pixelFormat = k;
cout<<"--metadataType--" << i << "--colorSpace--" << j << "--pixelFormat--" << k << endl;
}
}
if (formatImage.colorSpace == OH_COLORSPACE_SRGB_FULL ||
formatImage.colorSpace == OH_COLORSPACE_SRGB_LIMIT ||
formatImage.colorSpace == OH_COLORSPACE_LINEAR_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_BT2020_SRGB) {
if (ValidatePixelFormat(formatImage)){
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
if (!access("/system/lib64/media/", 0)) {
cout<<"return true"<< endl;
ASSERT_EQ(true, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
} else {
cout<<"return false"<< endl;
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
}
} else if (formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_SRGB ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_HLG ||
formatImage.colorSpace == OH_COLORSPACE_DISPLAY_P3_PQ) {
if (ValidatePixelFormat(formatImage)){
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
if (!access("/system/lib64/media/", 0)) {
cout<<"return true"<< endl;
ASSERT_EQ(true, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
} else {
cout<<"return false"<< endl;
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
}
} else if (formatImage.colorSpace == OH_COLORSPACE_ADOBERGB_FULL ||
formatImage.colorSpace == OH_COLORSPACE_ADOBERGB_LIMIT) {
if (ValidatePixelFormat(formatImage)){
if (!access("/system/lib64/ndk/libvideo_processing_capi_impl.so", F_OK)) {
if (!access("/system/lib64/media/", 0)) {
ASSERT_EQ(true, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
} else {
cout<<"return false"<< endl;
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
}
} else {
cout<<"return false"<< endl;
ASSERT_EQ(false, OH_ImageProcessing_IsMetadataGenerationSupported(formatImage));
}
}
cout << "all test " << g_allTestCount <<endl;
cout << "matched test " << g_supportedCount <<endl;
cout<< " mismatched test" << g_unsupportedCount <<endl;
outputListFile->close();
outputListFile = nullptr;
ASSERT_EQ(g_unsupportedCount, 0);
}
}
@@ -106,7 +106,6 @@ int32_t VideoSample::InitVideoSample(const int32_t type, int32_t width, int32_t
width_ = width;
height_ = height;
param_ = param;
viewer = std::make_unique<YuvViewer>();
int32_t ret = OH_VideoProcessing_Create(&videoProcessor, type);
CheckAndRet(ret == VIDEO_PROCESSING_SUCCESS, ret, "OH_VideoProcessing_Create failed.");
-2
View File
@@ -19,7 +19,6 @@
#include <thread>
#include <fstream>
#include <memory>
#include "yuv_viewer.h"
#include "video_processing.h"
#include "surface/window.h"
#include "native_buffer.h"
@@ -65,7 +64,6 @@ private:
int32_t ReadOneFrameP010(uint8_t *addr, OH_NativeBuffer_Config config);
int32_t ReadOneFrameRGBA10(uint8_t *addr, OH_NativeBuffer_Config config);
OH_VideoProcessing* videoProcessor = nullptr;
std::unique_ptr<YuvViewer> viewer;
OHNativeWindow *inWindow = nullptr;
OHNativeWindow *outWindow = nullptr;
std::unique_ptr<std::ifstream> inFile;