Copy less when active map is in use

When active map is specified and the current frame is not a key frame,
golden frame nor a altref frame then copy only those active regions.

This significantly reduces encoding time by as much as 19% on the test
system where realtime encoding is used. This is particularly useful
when the frame size is large (e.g. 2560x1600) and there's only a few
action macroblocks.

Change-Id: If394a813ec2df5a0201745d1348dbde4278f7ad4
This commit is contained in:
Alpha Lam
2011-08-09 20:59:45 +01:00
committed by John Koleszar
parent b84e8f20c3
commit 4e8d35a461
5 changed files with 125 additions and 9 deletions

View File

@@ -4676,7 +4676,7 @@ int vp8_receive_raw_frame(VP8_PTR ptr, unsigned int frame_flags, YV12_BUFFER_CON
vpx_usec_timer_start(&timer);
if(vp8_lookahead_push(cpi->lookahead, sd, time_stamp, end_time,
frame_flags))
frame_flags, cpi->active_map_enabled ? cpi->active_map : NULL))
res = -1;
cm->clr_type = sd->clrtype;
vpx_usec_timer_mark(&timer);