Age | Commit message (Collapse) | Author |
|
The set_offsets call is necessary inorder to set the
mode_info_context ptr correctly.
Change-Id: I644910cc5bacc50ee9cd78458843274ad8ee636d
|
|
|
|
The memset sets 16 bytes rather than the correct size of the
final array dimension (MAX_MODE_LF_DELTAS).
(In response to bug posted by Manjit Hota to codec-devel
and webm-discuss lists)
Change-Id: I8980f5aa71ddc9d7ef57c5b4700bc28ddf8651c7
|
|
Change-Id: I599ab1bd22b5f3f10d5962c609952abdef8ff67a
|
|
Becuase the routine is used by both vp8 and vp9
Change-Id: I2d35b287b5bc2394865d931a27da61f4ce7edeeb
|
|
Change-Id: Id578f8afdeab3702fc8386969f2d832d8f1b5420
|
|
Removing redundant parenthesis and curly braces. Combining declarations
with initializations. Adding useful intermediate variables instead of
recalculating expressions every time.
Change-Id: I00106f404afd60bfc189905b0fded881684f941a
|
|
|
|
|
|
|
|
Change-Id: I541a178d997b4541e0e2d4d5b854e2ed6b113c3a
|
|
Adds a new subpel motion estimation function that uses a 2-level
tree-structured decision tree to eliminate redundant computations.
It searches fewer points than iterative search (which can search
the same point multiple times) but has the same quality roughly.
This is made the default setting at speeds 0 and 1, while at
speed 2 and above only a 1-level search is used.
Also includes various cleanups for consistency and redundancy removal.
Results:
derf: +0.012% psnr
stdhd: +0.09% psnr
Speedup of about 2-3%
Change-Id: Iedde4866f5475586dea0f0ba4cb7428fba24eee9
|
|
Moving this block of code into a function makes the
code easier to read and change.
Change-Id: If4ede570cce1eab1982b188c4d3e4fd3d4db236e
|
|
Different partitionings were not being evaluated against
best_rd and there were unnecessary calls to RDCOST. This
could have resulted in a non-optimal partioning being
selected.
I simplified the variables used to track the rate,
distortion and RD values throughout the function.
Change-Id: Ifa7085ee80d824e86791432a5bc6d8fea5a3e313
|
|
|
|
Using block width and block height instead of their logarithms. Using
SUBPEL_BITS and SUBPEL_SHIFTS constants instead of magic numbers.
Change-Id: I4e10e93c907c8a5e1cb27dfe74d1fcdcc4995448
|
|
|
|
|
|
The low precision 32x32 fdct has all the intermediate steps within
16-bit depth, hence allowing faster SSE2 implementation, at the
expense of larger round-trip error. It was used in the rate-distortion
optimization search loop only.
Using the low precision version, in replace of the high precision one,
affects the compression performance by about 0.7% (derf, stdhd) at
speed 0. For speed 1, it makes derf set down by only 0.017%.
Change-Id: I4e7d18fac5bea5317b91c8e7dabae143bc6b5c8b
|
|
Removing the old one bsize_from_dim_lookup. Now we have a way to determine
block size for plane using its subsampling values (ss_size_lookup). And
then we can find the number of pixels in the block (num_pels_log2_lookup).
Change-Id: I6fc981da2ae093de81741d3d78eaefed11015db9
|
|
|
|
Change-Id: Idec4cae0cb9b3a29835fd2750d354c1393d47aa4
|
|
|
|
Removes some unused code and speed features, and organizes the
interfaces for fractional mv step functions for use in new speed
features to come.
In the process a new speed feature - number of iterations per
step during the subpel search - is exposed.
No change when this parameter is set as the original value of 3.
Results:
subpel_iters_per_step = 3: baseline
subpel_iters_per_step = 2: psnr -0.067%, 1% speedup
subpel_iters_per_step = 1: psnr -0.331%, 3-4% speedup
Change-Id: I2eba8a21f6461be8caf56af04a5337257a5693a8
|
|
|
|
Functions scale_mv_q4 and scale_mv_q3_to_q4 were almost identical except
q3->q4 conversion in scale_mv_q3_to_q4. Now q3->q4 conversion happens
directly in vp9_build_inter_predictor.
Also adding useful constants: SUBPEL_BITS and SUBPEL_MASK.
Change-Id: Ia0a6ad2ac07c45fdf95a5139ece6286c035e9639
|
|
|
|
also fixed bug in sad calcs
Change-Id: I6571fcbe37556c16ae32be66dc0fd879852aac1d
|
|
Change-Id: I4a3c83119cdf8a205920034c8019d855d5504605
|
|
|
|
Enable use_x86inc as a commandline option. Fix Bug with sse2 when
x86inc is disabled. Adds Sad asm protection to x86inc protection
Change-Id: Iee0f9dd235ea10e8ace512eb362ba9bebe8c9df6
|
|
|
|
Adds a few pattern searches to achieve various tradeoffs
between motion estimation complexity and performance.
The search framework is unified across these searches so that a
common pattern search function is used for all. Besides it will
be easier to experiment with various patterns or combinations
thereof at different scales in the future.
The new pattern search is multi-scale and is capable of using
different patterns at different scales.
The new hex search uses 8 points at the smallest scale
and 6 points at other scales.
Two other pattern searches - big-diamond and square are
also added. Big diamond uses 4 points at the smallest scale and
8 points in diamond shape at the larger scales.
Square is very similar conceptually to the default n-step search
but is somewhat faster since it keeps only one survivor across
all scales.
Psnr/speed-up results on derf300:
hex: -1.6% psnr%, 6-8% speed-up
big-diamond: -0.96% psnr, 4-5% speedup
square: -0.93% psnr, 4-5% speedup
Change-Id: I02a7ef5193f762601e0994e2c99399a3535a43d2
|
|
Resolve compile warnings on re-define FDCT32x32_2D template.
Change-Id: Idb3a54ef8d2710ce7245b726379a0e5c875f5cad
|
|
There was no benefit having this function. For example, inside
read_switchable_filter_type switchable filter context was calculated twice.
Change-Id: I79cd5bf95cbc0f6d8bf91a2e32289e01b18dcff1
|
|
|
|
|
|
Converting arguments of two functions (clamp_mv_ref, lower_mv_precision)
from int_mv* to MV*. Rewriting is_inside function to make it much shorter.
Change-Id: Ie4c4cf3eccd46707c7df099ec21fb1b61c72fc7a
|
|
|
|
|
|
|
|
|
|
This is in preparation for the SSE2 version of the high-precision
32x32 forward DCT which will share a lot of code with the existing
low precision version used for rate-distortion search.
Change-Id: I7084b6bdfb480b1fabb8493fb14e3f7fcc7888c0
|
|
Change-Id: If0399d8e11f4ebe75a5c91abb8d6a52a7709065b
|
|
Change-Id: Icb607745634e10b9bac5019d06661ece09fcdb40
|
|
Support enabling it or disabling it. Moved read out to configure.sh
so that its done once instead of in make and in config.
Change-Id: I73a9190cf31de9f03e8a577f478fa522f8c01c8b
|
|
* changes:
vp9/decoder: threaded row-based loop filter
vp9/decoder: add thread worker
|
|
Change-Id: I3aae21e88b876d53ecc955260479980ffe04ad8d
|
|
Change-Id: I226e5094d216b09dc47fa5511a66e2d314608000
|
|
|