- 16 Jul, 2013 - 4 commits
-
-
Ronald S. Bultje authored
This is required because upon downscaling, if a motion vector points partially into the UMV (e.g. all minus 1 of 64+7 pixels, i.e. 70), then we can point up to 140 pixels into the larger-resolution (2x) reference buffer UMV, which means the UMV for reference buffers in downscaling needs to be 140 rounded up to the nearest multiple of 32, i.e. 160. Longer-term, we should probably handle the UMV differently by detecting edge coverage on-the-fly and using a temporary buffer for edge extensions instead of adding 160 pixels on all sides of the image (which means a CIF image uses 3x its own area size for borders). Change-Id: I5184443e6731cd6721fc6a5d430a53e7d91b4f7e
-
Ronald S. Bultje authored
Cycle times: 4x4: 151 to 131 cycles (15% faster) 8x8: 334 to 306 cycles (9% faster) 16x16: 1401 to 1368 cycles (2.5% faster) 32x32: 7403 to 7367 cycles (0.5% faster) Total encode time of first 50 frames of bus @ 1500kbps (speed 0) goes from 1min39.2 to 1min38.6, i.e. a 0.67% overall speedup. Change-Id: I799a49460e5e3fcab01725564dd49c629bfe935f
-
Ronald S. Bultje authored
-
Frank Galligan authored
-
- 15 Jul, 2013 - 5 commits
-
-
Ronald S. Bultje authored
Also inline some of the block calculations to assist the compiler to not do silly things like calculating the same offset (or converting between raster/transform block offset or block, mi and pixel unit) many, many, many times. Cycle times: 4x4: 584 -> 505 cycles (16% faster) 8x8: 1651 -> 1560 cycles (6% faster) 16x16: 7897 -> 7704 cycles (2.5% faster) 32x32: 16096 -> 15852 cycles (1.5% faster) Overall, this saves about 0.5 seconds (1min49.8 -> 1min49.3) on the first 50 frames of bus (speed 0) @ 1500kbps, i.e. 0.5% overall. Change-Id: If3dd62453f8e2ab9d4ee616bc4ea956fb8874b80
-
Dmitry Kovalev authored
Removing unused DEC_DEBUG define and dec_debug variable. Changing function signatures to eliminate code duplication, renaming function mb_init_dequantizer to init_dequantizer. Also removing redundant curly braces, and comments. Change-Id: Ia56ee1b0be5f24abb0e878581845be8a4773c298
-
Frank Galligan authored
Change the mbfilter Neon code from executing both branches if all vectors follow only one branch. The code is about 5% faster when executing only one branch and about 1% slower when executing both branches. -PS5: Remove local stack space from mbfilter. Change-Id: I6a23f9b318a9f4568a2718b4c9348db988fe2182
-
Jingning Han authored
This speed feature allows the encoder to largely remove the spatial dependency between blocks inside a 64x64 superblock, thereby removing the need to repeatedly encode superblocks per partition type in the rate-distortion optimization loop. A major challenge lies in the intra modes tested in the rate-distortion optimization loop. The subsequent blocks do not have access to the reconstructed boundary pixels without the intermediate coding steps. This was resolved by using the original pixels for intra prediction in the rd loop, followed by an appropriately designed distortion modeling on the quantization parameters. Experiments also suggested that the performance impact is more discernible at lower bit-rate/psnr settings. Hence a quantizer dependent threshold is applied to deactivate skip of block coding. For bus_cif at 2000 kbps, speed 0: runtime 269854ms -> 237774ms (12% speed-up) at 0.05dB performance loss. speed 1: runtime 65312ms -> 61536ms, (7...
-
Dmitry Kovalev authored
-
- 13 Jul, 2013 - 3 commits
-
-
Dmitry Kovalev authored
Change-Id: Id9b6ceeddca3f9b34bfada5c499b1e7a2f42c30b
-
Dmitry Kovalev authored
Adding missed parenthesis around boolean expressions. Bitstream is changed. Regenerating test vectors. Change-Id: I4cc00b761e9473f92f180a9fc3a0c607f0aaae56
-
Dmitry Kovalev authored
-
- 12 Jul, 2013 - 24 commits
-
-
Dmitry Kovalev authored
This function is actually called from set_offsets which is called right before vp9_read_mode_info. Change-Id: Ibb9d5ad606194bc80eab264fad85b31c9dfd8f77
-
Yaowu Xu authored
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
-
James Zern authored
-
Dmitry Kovalev authored
Also removing unused declarations from vp9_entropymode.h file. Change-Id: Ib9c5826db3584a32f6bb3297a76c522b99d83402
-
Dmitry Kovalev authored
-
Dmitry Kovalev authored
Change-Id: I51f9ac910834f2d7aba2be4f7ffbce597e61a144
-
James Zern authored
Change-Id: I0bc5d2d8c9fec8be18263b0dc2528886bb5b7b61
-
Dmitry Kovalev authored
No bitstream changes. Using MB_MODE_INFO temp variables instead of MODE_INFO variables. Removing redundant curly braces. Change-Id: Ib9d1bedfbd8af97ecc722ccf697ea8177bbe287c
-
Yaowu Xu authored
Change-Id: I23a75c495ed7ea917d7f312bef0990e20a6b53d9
-
James Zern authored
lg2 -> log2 Change-Id: I0602ddff49e42c9c40c29c084d04b7592b9f8edf
-
James Zern authored
* changes: vp9_dx_iface: s/vp8/vp9/ where possible vp[89]_dx_iface: delete unused function vp[89]_dx_iface: factorize vp8_mmap_*()
-
James Zern authored
drop 'vp9_' from most static functions unrelated to the codec interface itself. Change-Id: I33e76c425bb7373570a57a61662a56d65ab4bdf3
-
James Zern authored
-
Deb Mukherjee authored
Implements some of the helper functions more efficiently with lookups rathers than branches. Modeling function is consolidated to reduce some computations. Also merged the two enums BLOCK_SIZE_TYPES and BlockSize into one because there is no need to keep them separate (even though the semantics are a little different). No bitstream or output change. About 0.5% speedup Change-Id: I7d71a66e8031ddb340744dc493f22976052b8f9f
-
Dmitry Kovalev authored
-
Paul Wilkins authored
-
James Zern authored
static mmap_lkup Change-Id: I24aeac1eca8453e28d58bc06925e58efc228a0a6
-
James Zern authored
s/vp8/vpx/ -> vpx_codec_internal.h / vpx_codec.c Change-Id: If4192b40206276a761b01d44e334fe15bcb81128
-
Jingning Han authored
-
Jingning Han authored
-
Dmitry Kovalev authored
Removing redundant function arguments and curly braces. Change-Id: I46e02561f33fe02e84a3b19756f03b9504bd6a1b
-
Ronald S. Bultje authored
Change-Id: I78a79fc51c2d7cc3c261f35b569155397f3dc0c4
-
- 11 Jul, 2013 - 4 commits
-
-
James Zern authored
-
James Zern authored
-
Dmitry Kovalev authored
-
Jingning Han authored
-