vpx/vp8/encoder
John Koleszar f7e187d362 improve average framerate calculation
Change Ice204e86 identified a problem with bitrate undershoot due to
low precision in the timestamps passed to the library. This patch
takes a different approach by calculating the duration of this frame
and passing it to the library, rather than using a fixed duration
and letting the library average it out with higher precision
timestamps. This part of the fix only applies to vpxenc.

This patch also attempts to fix the problem for generic applications
that may have made the same mistake vpxenc did. Instead of
calculating this frame's duration by the difference of this frame's
and the last frame's start time, we use the end times instead. This
allows the framerate calculation to scavenge "unclaimed" time from
the last frame. For instance:

  start |  end  | calculated duration
  ======+=======+====================
    0ms    33ms   33ms
   33ms    66ms   33ms
   66ms    99ms   33ms
  100ms   133ms   34ms

Change-Id: I92be4b3518e0bd530e97f90e69e75330a4c413fc
2010-11-05 08:42:46 -04:00
..
arm Fix half-pixel variance RTCD functions 2010-10-27 13:00:30 -04:00
generic Full search SAD function optimization in SSE4.1 2010-10-27 13:36:31 -04:00
ppc Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
x86 SSSE3 version of fast quantizer 2010-11-01 16:24:15 -04:00
bitstream.c Fix loopfilter delta zero transitions 2010-09-29 13:04:04 -04:00
bitstream.h Add runtime CPU detection support for ARM. 2010-10-25 09:23:29 -04:00
block.h Convert [4][4] matrices to [16] arrays. 2010-10-21 17:04:30 -07:00
boolhuff.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
boolhuff.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
dct.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
dct.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
encodeframe.c Convert [4][4] matrices to [16] arrays. 2010-10-21 17:04:30 -07:00
encodeintra.c make vp8_recon16x16mb{,y} RTCD functions 2010-10-26 13:23:36 -04:00
encodeintra.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
encodemb.c make vp8_recon16x16mb{,y} RTCD functions 2010-10-26 13:23:36 -04:00
encodemb.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
encodemv.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
encodemv.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
ethreading.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
firstpass.c Eliminate more warnings. 2010-10-27 18:08:04 -07:00
firstpass.h Move firstpass motion map to stats packet 2010-10-21 14:04:20 -04:00
mcomp.c Full search SAD function optimization in SSE4.1 2010-10-27 13:36:31 -04:00
mcomp.h Full search SAD function optimization in SSE4.1 2010-10-27 13:36:31 -04:00
modecosts.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
modecosts.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
onyx_if.c improve average framerate calculation 2010-11-05 08:42:46 -04:00
onyx_int.h improve average framerate calculation 2010-11-05 08:42:46 -04:00
parms.cpp Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
pickinter.c Add half-pixel variance RTCD functions 2010-10-26 20:00:56 -07:00
pickinter.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
picklpf.c Add runtime CPU detection support for ARM. 2010-10-25 09:23:29 -04:00
preproc.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
psnr.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
psnr.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
quantize.c Convert [4][4] matrices to [16] arrays. 2010-10-21 17:04:30 -07:00
quantize.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
ratectrl.c safety check to avoid divide by 0s 2010-10-14 16:19:06 -04:00
ratectrl.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
rdopt.c Finding first label 2010-10-29 10:01:04 -04:00
rdopt.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
sad_c.c Full search SAD function optimization in SSE4.1 2010-10-27 13:36:31 -04:00
segmentation.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
segmentation.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
ssim.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
temporal_filter.c Add half-pixel variance RTCD functions 2010-10-26 20:00:56 -07:00
temporal_filter.h isolate new temporal filtering code 2010-10-25 09:11:03 -04:00
tokenize.c Centralize mb skip state calculation 2010-10-12 09:03:19 -04:00
tokenize.h Reduce size of tokenizer tables 2010-09-16 10:00:04 -04:00
treewriter.c Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
treewriter.h Use WebM in copyright notice for consistency 2010-09-09 10:01:21 -04:00
variance_c.c Fix half-pixel variance RTCD functions 2010-10-27 13:00:30 -04:00
variance.h Full search SAD function optimization in SSE4.1 2010-10-27 13:36:31 -04:00