summaryrefslogtreecommitdiff
path: root/vp8/encoder/encodeframe.c
diff options
context:
space:
mode:
authorJohn Koleszar <jkoleszar@google.com>2011-02-10 00:05:09 -0500
committerJohn Koleszar <jkoleszar@google.com>2011-02-10 00:05:10 -0500
commit96ddc5c26e354d96a73cd0f3d16f2bde3ea8b0db (patch)
tree05358c3c6813d8db292624862b0c69db9730f13b /vp8/encoder/encodeframe.c
parent6e6b46d97295c8227717e294f07de7283303369a (diff)
parentfffa2a61d72883019c7c09466db7e947cb7de34d (diff)
downloadlibvpx-96ddc5c26e354d96a73cd0f3d16f2bde3ea8b0db.tar
libvpx-96ddc5c26e354d96a73cd0f3d16f2bde3ea8b0db.tar.gz
libvpx-96ddc5c26e354d96a73cd0f3d16f2bde3ea8b0db.tar.bz2
libvpx-96ddc5c26e354d96a73cd0f3d16f2bde3ea8b0db.zip
Merge remote branch 'origin/master' into experimental
Change-Id: Ie85d40c44bb23d56a519010356b2856c02fb4c05
Diffstat (limited to 'vp8/encoder/encodeframe.c')
-rw-r--r--vp8/encoder/encodeframe.c43
1 files changed, 21 insertions, 22 deletions
diff --git a/vp8/encoder/encodeframe.c b/vp8/encoder/encodeframe.c
index 92f200da2..1187ae606 100644
--- a/vp8/encoder/encodeframe.c
+++ b/vp8/encoder/encodeframe.c
@@ -800,28 +800,9 @@ void vp8_encode_frame(VP8_COMP *cpi)
struct vpx_usec_timer emr_timer;
vpx_usec_timer_start(&emr_timer);
- if (!cpi->b_multi_threaded)
- {
- // for each macroblock row in image
- for (mb_row = 0; mb_row < cm->mb_rows; mb_row++)
- {
-
- vp8_zero(cm->left_context)
-
- encode_mb_row(cpi, cm, mb_row, x, xd, &tp, segment_counts, &totalrate);
-
- // adjust to the next row of mbs
- x->src.y_buffer += 16 * x->src.y_stride - 16 * cm->mb_cols;
- x->src.u_buffer += 8 * x->src.uv_stride - 8 * cm->mb_cols;
- x->src.v_buffer += 8 * x->src.uv_stride - 8 * cm->mb_cols;
- }
-
- cpi->tok_count = tp - cpi->tok;
-
- }
- else
- {
#if CONFIG_MULTITHREAD
+ if (cpi->b_multi_threaded)
+ {
int i;
vp8cx_init_mbrthread_data(cpi, x, cpi->mb_row_ei, 1, cpi->encoding_thread_count);
@@ -886,7 +867,25 @@ void vp8_encode_frame(VP8_COMP *cpi)
x->activity_sum += cpi->mb_row_ei[i].mb.activity_sum;
}
+ }
+ else
#endif
+ {
+ // for each macroblock row in image
+ for (mb_row = 0; mb_row < cm->mb_rows; mb_row++)
+ {
+
+ vp8_zero(cm->left_context)
+
+ encode_mb_row(cpi, cm, mb_row, x, xd, &tp, segment_counts, &totalrate);
+
+ // adjust to the next row of mbs
+ x->src.y_buffer += 16 * x->src.y_stride - 16 * cm->mb_cols;
+ x->src.u_buffer += 8 * x->src.uv_stride - 8 * cm->mb_cols;
+ x->src.v_buffer += 8 * x->src.uv_stride - 8 * cm->mb_cols;
+ }
+
+ cpi->tok_count = tp - cpi->tok;
}
@@ -1166,7 +1165,7 @@ int vp8cx_encode_intra_macro_block(VP8_COMP *cpi, MACROBLOCK *x, TOKENEXTRA **t)
Error16x16 = vp8_rd_pick_intra16x16mby_mode(cpi, x, &rate16x16, &rate16x16_tokenonly, &dist16x16);
- Error4x4 = vp8_rd_pick_intra4x4mby_modes(cpi, x, &rate4x4, &rate4x4_tokenonly, &dist4x4);
+ Error4x4 = vp8_rd_pick_intra4x4mby_modes(cpi, x, &rate4x4, &rate4x4_tokenonly, &dist4x4, Error16x16);
rate += (Error4x4 < Error16x16) ? rate4x4 : rate16x16;
}