From 353d674ad95a34a6b515c827dce33d1d4b6b926a Mon Sep 17 00:00:00 2001 From: Andrzej Kapolka Date: Tue, 30 Jul 2013 15:56:47 -0700 Subject: [PATCH] Masking tweak. --- interface/src/Webcam.cpp | 12 +++++++----- interface/src/avatar/Face.cpp | 3 +-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/interface/src/Webcam.cpp b/interface/src/Webcam.cpp index b39f11aa67..d4fa015ba0 100644 --- a/interface/src/Webcam.cpp +++ b/interface/src/Webcam.cpp @@ -508,6 +508,8 @@ void FrameGrabber::grabFrame() { vpx_codec_enc_init(&_colorCodec, vpx_codec_vp8_cx(), &codecConfig, 0); if (!depth.empty()) { + int DEPTH_BITRATE_MULTIPLIER = 2; + codecConfig.rc_target_bitrate *= 2; vpx_codec_enc_init(&_depthCodec, vpx_codec_vp8_cx(), &codecConfig, 0); } } @@ -660,14 +662,14 @@ void FrameGrabber::grabFrame() { ushort bl = *_faceDepth.ptr(i + 1, j); ushort br = *_faceDepth.ptr(i + 1, j + 1); - uchar mask = EIGHT_BIT_MIDPOINT; + uchar mask = EIGHT_BIT_MAXIMUM; - ydest[0] = (tl == ELEVEN_BIT_MINIMUM) ? (mask = EIGHT_BIT_MAXIMUM) : saturate_cast(tl + depthOffset); - ydest[1] = (tr == ELEVEN_BIT_MINIMUM) ? (mask = EIGHT_BIT_MAXIMUM) : saturate_cast(tr + depthOffset); + ydest[0] = (tl == ELEVEN_BIT_MINIMUM) ? (mask = EIGHT_BIT_MIDPOINT) : saturate_cast(tl + depthOffset); + ydest[1] = (tr == ELEVEN_BIT_MINIMUM) ? (mask = EIGHT_BIT_MIDPOINT) : saturate_cast(tr + depthOffset); ydest[vpxImage.stride[0]] = (bl == ELEVEN_BIT_MINIMUM) ? - (mask = EIGHT_BIT_MAXIMUM) : saturate_cast(bl + depthOffset); + (mask = EIGHT_BIT_MIDPOINT) : saturate_cast(bl + depthOffset); ydest[vpxImage.stride[0] + 1] = (br == ELEVEN_BIT_MINIMUM) ? - (mask = EIGHT_BIT_MAXIMUM) : saturate_cast(br + depthOffset); + (mask = EIGHT_BIT_MIDPOINT) : saturate_cast(br + depthOffset); ydest += 2; *vdest++ = mask; diff --git a/interface/src/avatar/Face.cpp b/interface/src/avatar/Face.cpp index f25426a5be..ff31241c54 100644 --- a/interface/src/avatar/Face.cpp +++ b/interface/src/avatar/Face.cpp @@ -171,8 +171,7 @@ int Face::processVideoMessage(unsigned char* packetData, size_t dataBytes) { uchar* ysrc = yline; uchar* vsrc = vline; for (int j = 0; j < image->d_w; j += 2) { - - if (*vsrc++ >= MASK_THRESHOLD) { + if (*vsrc++ < MASK_THRESHOLD) { *depth.ptr(i, j) = EIGHT_BIT_MAXIMUM; *depth.ptr(i, j + 1) = EIGHT_BIT_MAXIMUM; *depth.ptr(i + 1, j) = EIGHT_BIT_MAXIMUM;