]> granicus.if.org Git - libvpx/commit
Fixed point reference picture scaling
authorTero Rintaluoma <teror@google.com>
Mon, 10 Jun 2013 07:23:04 +0000 (10:23 +0300)
committerJohn Koleszar <jkoleszar@google.com>
Mon, 10 Jun 2013 15:07:55 +0000 (08:07 -0700)
commit86bb6df00515ab2263b41e506cdf55d90d76598f
tree778c54d301025db0ecf90cd6d2ee3da4eb1c74ca
parent4852a8023d0e8562fba338f20a064b40304f7858
Fixed point reference picture scaling

Fixed point scaling factors are calculated once for each
reference frame by using integer division. Otherwise fixed point
scaling routines are used in all scaling calculations. This makes it
possible to calculate fixed point scaling factors on device driver
software and pass them to hardware and thus avoid division on hardware.

TODO:
 - Missing check for maximum frame dimensions
   (currently scaling uses 14 bits)
 - Missing check for maximum scaling ratio
   (upscaling 16:1, downscaling 2:1)

Problems:
 - Straightforward fixed point implementation can cause error +-1
   compared to integer division (i.e. in x_step_q4). Should only
   be an issue for frames larger than 16k.

Change-Id: I3cf4dabd610a4dc18da3bdb31ae244ebaf5d579c
vp9/common/vp9_blockd.h
vp9/common/vp9_reconinter.c
vp9/encoder/vp9_rdopt.c