From 821b1bea4a77497506c3e22529ba76b2f84cceb7 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 03 五月 2017 11:57:01 +0800
Subject: [PATCH]
---
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
index 997305c..aec1267 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
@@ -20,7 +20,7 @@
//#define YUV420_TO_RGB888 1
//#define YUV420_TO_RGB565 1
-#define YUV420_TO_ARGB8888 1
+#define YUV420_TO_ABGR8888 1
struct FcPmBreackerContext
{
@@ -98,7 +98,7 @@
return true;
}
- bool convertYUV420ToARGB8888()
+ bool convertYUV420ToABGR8888()
{
int src_height = height;
int src_width = width;
@@ -106,12 +106,23 @@
const uint8* src_u = (const uint8*)(src_y + (src_height * src_width));
const uint8* src_v = (const uint8*)(src_u + (src_height * src_width / 4));
- libyuv::I420ToARGB(src_y, src_width,
+ libyuv::I420ToABGR(src_y, src_width, // android ARGB_8888 is ABGR
src_u, SUBSAMPLE(src_width, 2),
src_v, SUBSAMPLE(src_width, 2),
frameRGB, 4 * src_width,
src_width, src_height);
frameRGBSize = src_height * src_width * 4;
+
+ //{
+ // static size_t f = 0;
+ // char fname[50];
+ // sprintf(fname, "/sdcard/face-%u.argb", ++f);
+ // FILE *pFile = fopen(fname, "wb");
+ // fwrite(frameRGB, 1, frameRGBSize, pFile);
+ // fclose(pFile);
+ // if (f > 10)exit(0);
+ //}
+
return true;
}
};
@@ -411,7 +422,7 @@
return true;
}
-#elif YUV420_TO_ARGB8888
+#elif YUV420_TO_ABGR8888
bool FaceCache::getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize)
{
@@ -422,7 +433,7 @@
if (ctx.frameRGBSize == 0)
{
//#todo should optimize not convert the whole image
- if (! ctx.convertYUV420ToARGB8888())
+ if (! ctx.convertYUV420ToABGR8888())
return false;
}
@@ -440,7 +451,7 @@
NativeImgIdx imgidx;
imgidx.offset = offset;
imgidx.size = roiMat.total() * roiMat.elemSize();
- imgidx.type = MB_Frame::MBFT_ARGB8888;
+ imgidx.type = MB_Frame::MBFT_ABGR8888;
imgidx.width = roiMat.cols;
imgidx.height = roiMat.rows;
--
Gitblit v1.8.0