summaryrefslogtreecommitdiff
path: root/vp9/encoder/vp9_bitstream.c
diff options
context:
space:
mode:
authorRanjit Kumar Tulabandu <ranjit.tulabandu@ittiam.com>2017-02-10 16:25:50 +0530
committerYunqing Wang <yunqingwang@google.com>2017-02-15 00:49:34 +0000
commit71061e9332c05324007e7f6c900285273793366d (patch)
treef83b05b6c4072b852b81cc258a4031516fee0016 /vp9/encoder/vp9_bitstream.c
parenteeb288d568fde3512e4362d73e4d684af3bcf87c (diff)
downloadlibvpx-71061e9332c05324007e7f6c900285273793366d.tar.gz
libvpx-71061e9332c05324007e7f6c900285273793366d.tar.bz2
libvpx-71061e9332c05324007e7f6c900285273793366d.zip
Row based multi-threading of encoding stage
(Yunqing Wang) This patch implements the row-based multi-threading within tiles in the encoding pass, and substantially speeds up the multi-threaded encoder in VP9. Speed tests at speed 1 on STDHD(using 4 tiles) set show that the average speedups of the encoding pass(second pass in the 2-pass encoding) is 7% while using 2 threads, 16% while using 4 threads, 85% while using 8 threads, and 116% while using 16 threads. Change-Id: I12e41dbc171951958af9e6d098efd6e2c82827de
Diffstat (limited to 'vp9/encoder/vp9_bitstream.c')
-rw-r--r--vp9/encoder/vp9_bitstream.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_bitstream.c b/vp9/encoder/vp9_bitstream.c
index 43c5eaed0..71f85bbe7 100644
--- a/vp9/encoder/vp9_bitstream.c
+++ b/vp9/encoder/vp9_bitstream.c
@@ -925,10 +925,11 @@ int vp9_get_refresh_mask(VP9_COMP *cpi) {
static int encode_tile_worker(VP9_COMP *cpi, VP9BitstreamWorkerData *data) {
MACROBLOCKD *const xd = &data->xd;
+ const int tile_row = 0;
vpx_start_encode(&data->bit_writer, data->dest);
write_modes(cpi, xd, &cpi->tile_data[data->tile_idx].tile_info,
- &data->bit_writer, 0, data->tile_idx, &data->max_mv_magnitude,
- data->interp_filter_selected);
+ &data->bit_writer, tile_row, data->tile_idx,
+ &data->max_mv_magnitude, data->interp_filter_selected);
vpx_stop_encode(&data->bit_writer);
return 1;
}