houxiao
2017-07-10 4db189a6ec2bd6b575d7f35011de063bdfe73456
VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCacheForPLBG.cpp
@@ -90,7 +90,7 @@
            OutRGBBufferWrapper bw;
            bw.buffer = bufPtr;
            bw.buffSize = iter->rectInOriginFrame.width() * iter->rectInOriginFrame.height() * 2; //RGB565
            bw.buffSize = iter->rectInOriginFrame.rect.width() * iter->rectInOriginFrame.rect.height() * 2; //RGB565
            if (sizeof(frameRGB) - (bufPtr - frameRGB) < bw.buffSize)
            {
                frameTruncated = true;
@@ -111,8 +111,8 @@
private:
    bool convertYUV420ToRGB565(const PLBG_Output& out, uint8_t* rgbBuff)
    {
        int src_height = out.rectInOriginFrame.height();
        int src_width = out.rectInOriginFrame.width();
        int src_height = out.rectInOriginFrame.rect.height();
        int src_width = out.rectInOriginFrame.rect.width();
        const uint8* src_y = (const uint8*)(out.croppedData);
        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));
@@ -202,13 +202,13 @@
    {
        PbFaceList_FaceListImage &pbFaceListImage(*(pbFaceList.add_images()));
        pbFaceListImage.set_idx(i);
        pbFaceListImage.set_st_track_id(1111111111111111);
        pbFaceListImage.set_st_track_id((int)(ctx.lastOutputs[i].rectInOriginFrame.userData));
        pbFaceListImage.set_size(ctx.lastOutputs[i].croppedDataSize);
        pbFaceListImage.set_type(PbFaceList_FaceListImage_ImageType_MBFT_NV12);
        pbFaceListImage.set_width(ctx.lastOutputs[i].rectInOriginFrame.width());
        pbFaceListImage.set_height(ctx.lastOutputs[i].rectInOriginFrame.height());
        pbFaceListImage.set_top_left_x(ctx.lastOutputs[i].rectInOriginFrame.leftTop.X);
        pbFaceListImage.set_top_left_y(ctx.lastOutputs[i].rectInOriginFrame.leftTop.Y);
        pbFaceListImage.set_width(ctx.lastOutputs[i].rectInOriginFrame.rect.width());
        pbFaceListImage.set_height(ctx.lastOutputs[i].rectInOriginFrame.rect.height());
        pbFaceListImage.set_top_left_x(ctx.lastOutputs[i].rectInOriginFrame.rect.leftTop.X);
        pbFaceListImage.set_top_left_y(ctx.lastOutputs[i].rectInOriginFrame.rect.leftTop.Y);
        pbFaceListImage.add_img(ctx.lastOutputs[i].croppedData, ctx.lastOutputs[i].croppedDataSize);
@@ -253,11 +253,12 @@
    for (int i = 0; i < ctx.lastOutputs.size(); i++)
    {
        NativeImgIdx imgidx;
        imgidx.st_track_id =  (int)(ctx.lastOutputs[i].rectInOriginFrame.userData);
        imgidx.offset = ctx.lastOutputsRGBBufs[i].buffer - ctx.frameRGB;
        imgidx.size = ctx.lastOutputsRGBBufs[i].buffSize;
        imgidx.type = MB_Frame::MBFT_RGB565;
        imgidx.width = ctx.lastOutputs[i].rectInOriginFrame.width();
        imgidx.height = ctx.lastOutputs[i].rectInOriginFrame.height();
        imgidx.width = ctx.lastOutputs[i].rectInOriginFrame.rect.width();
        imgidx.height = ctx.lastOutputs[i].rectInOriginFrame.rect.height();
        imgIdxes.push_back(imgidx);
        totalSize += ctx.lastOutputsRGBBufs[i].buffSize;