summaryrefslogtreecommitdiff
path: root/vp8/encoder/encodeframe.c
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2011-05-26 11:44:18 -0400
committerJohn Koleszar <jkoleszar@google.com>2011-05-26 11:44:36 -0400
commit9dccdc1f0884426d5c7340129660787b64812dbe (patch)
tree6fe02110f5b5e74bc1543911ad9d28fb9b86d0cc /vp8/encoder/encodeframe.c
parentf7044d4058fe22e81179727d87a7a425026538ee (diff)
parent117fcb207e2e655cd334b6a8522af7d713b1fcee (diff)
downloadlibvpx-9dccdc1f0884426d5c7340129660787b64812dbe.tar
libvpx-9dccdc1f0884426d5c7340129660787b64812dbe.tar.gz
libvpx-9dccdc1f0884426d5c7340129660787b64812dbe.tar.bz2
libvpx-9dccdc1f0884426d5c7340129660787b64812dbe.zip
Merge remote branch 'internal/upstream-experimental' into HEAD
Conflicts: vp8/encoder/encodeframe.c vp8/encoder/ethreading.c Change-Id: I4becf6f101756923de6b98ca6a2132c3605c6ea5
Diffstat (limited to 'vp8/encoder/encodeframe.c')
-rw-r--r--vp8/encoder/encodeframe.c20
1 files changed, 18 insertions, 2 deletions
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c
index aa88151c0..56af2d16b 100644
--- a/vp8/encoder/encodeframe.c
+++ b/vp8/encoder/encodeframe.c
@@ -493,8 +493,24 @@ void encode_mb_row(VP8_COMP *cpi,
else
xd->mode_info_context->mbmi.segment_id = 1;
- for (i = 0; i < 16; i++)
- vpx_memcpy(&xd->mode_info_context->bmi[i], &xd->block[i].bmi, sizeof(xd->block[i].bmi));
+ if(cm->frame_type != INTRA_FRAME)
+ {
+ if (xd->mode_info_context->mbmi.mode != B_PRED)
+ {
+ for (i = 0; i < 16; i++)
+ xd->mode_info_context->bmi[i].mv.as_int = xd->block[i].bmi.mv.as_int;
+ }else
+ {
+ for (i = 0; i < 16; i++)
+ xd->mode_info_context->bmi[i].as_mode = xd->block[i].bmi.mode;
+ }
+ }
+ else
+ {
+ if(xd->mode_info_context->mbmi.mode != B_PRED)
+ for (i = 0; i < 16; i++)
+ xd->mode_info_context->bmi[i].as_mode = xd->block[i].bmi.mode;
+ }
// adjust to the next column of macroblocks
x->src.y_buffer += 16;