Yunqing Wang [Thu, 2 Oct 2014 23:25:52 +0000 (16:25 -0700)]
Allow mode search breakout at very low prediction errors
In model_rd_for_sb function, the spatial domain SSE and variance
are checked to see if transform coefficients are quantized to 0.
Besides that, this patch adds another set of thresholds that are
much more strict. These thresholds are used to conduct a partition
block level check to measure if all its TX blocks are skippable
for YUV planes. If it is true, x->skip is set for this partition
block, and thus its mode search is terminated.
This speeds up the encoding at very low prediction error case,
such as screen sharing application. This patch covers what
rd_encode_breakout_test() does, so that function is removed.
Borg test at speed 3 shows:
For stdhd set, psnr: +0.008%, ssim: +0.014%;
For derf set, psnr: +0.018%, ssim: +0.025%.
No noticeable speed change.
Change-Id: I4e5f15cf10016a282a68e35175ff854b28195944
Jingning Han [Wed, 8 Oct 2014 22:25:09 +0000 (15:25 -0700)]
Merge "Clean up header files in vp9_blockd.h and related files"
Jingning Han [Wed, 8 Oct 2014 22:24:56 +0000 (15:24 -0700)]
Merge "Use #define statement for MAX_MB_PLANE"
Deb Mukherjee [Wed, 8 Oct 2014 19:46:37 +0000 (12:46 -0700)]
Fixes naming bug from previous highbitdepth patch
Change-Id: Ife939930309ceea730dd5df594b8f36e6644bf36
Deb Mukherjee [Wed, 8 Oct 2014 18:44:50 +0000 (11:44 -0700)]
Merge "Refactoring of highbitdepth bitshift operations"
JackyChen [Wed, 8 Oct 2014 18:41:14 +0000 (11:41 -0700)]
Merge "Add unit test for VP8 denoiser."
Deb Mukherjee [Tue, 7 Oct 2014 03:46:11 +0000 (20:46 -0700)]
Refactoring of highbitdepth bitshift operations
Moves the high bitdepth bit-shift operations to tools_common.c
Change-Id: Ifab91574362609cd224d2d6bae5fde00652eb3e4
JackyChen [Tue, 7 Oct 2014 22:30:23 +0000 (15:30 -0700)]
Add unit test for VP8 denoiser.
The unit test is to check the bitexactness of SSE2 code with C code.
Change-Id: I13cc08a557b02357e5d6c2db7a49e93ce0d8e16f
Jim Bankoski [Wed, 8 Oct 2014 16:04:26 +0000 (09:04 -0700)]
Merge "experimental : partition using 1/8 x 1/8 image"
Jim Bankoski [Wed, 8 Oct 2014 16:04:01 +0000 (09:04 -0700)]
Merge "Force better lower quantizer keyframe in case of high quantizer."
Yaowu Xu [Wed, 8 Oct 2014 15:38:15 +0000 (08:38 -0700)]
Revert "Change the y4m buffer allocation size"
This reverts commit
72ef1949388c4c0d82769ef06c6db0195b124b13.
Change-Id: Ic1906bcc6da05d2e6529152b92df809c8e5a2406
Paul Wilkins [Wed, 8 Oct 2014 11:23:30 +0000 (04:23 -0700)]
Merge "Improve two pass VBR accuracy."
Paul Wilkins [Wed, 8 Oct 2014 11:23:20 +0000 (04:23 -0700)]
Merge "Two pass rc changes."
Jim Bankoski [Tue, 7 Oct 2014 23:36:14 +0000 (16:36 -0700)]
experimental : partition using 1/8 x 1/8 image
The concept:
There's too much noise in source pixels for variance and at low bitrate
the reconstructed looks nothing like the source so we have problems
getting good partitionings with either. This skirts the issue by using
a box blur scaled down version for variance calculations. To compare
against source_var_ moved keyframe to be rd based like source_var.
Change-Id: Ie3babdbfadae324b7b5a76bea192893af27f0624
Jim Bankoski [Mon, 22 Sep 2014 20:58:09 +0000 (13:58 -0700)]
Force better lower quantizer keyframe in case of high quantizer.
Change-Id: Ie69a164bc166b6a8819777038d65a7d9f9c3361f
Jingning Han [Tue, 7 Oct 2014 22:34:19 +0000 (15:34 -0700)]
Merge "Remove extra empty line"
Jingning Han [Tue, 7 Oct 2014 22:34:07 +0000 (15:34 -0700)]
Merge "Remove vp9_blockd.h from vp9_common_data.c"
Jingning Han [Tue, 7 Oct 2014 22:33:52 +0000 (15:33 -0700)]
Merge "Replace mi_width_log2() with mi_width_log2_lookup table"
Jingning Han [Tue, 7 Oct 2014 22:33:45 +0000 (15:33 -0700)]
Merge "Take out repeated block width/height lookup functions"
Jingning Han [Tue, 7 Oct 2014 22:12:05 +0000 (15:12 -0700)]
Clean up header files in vp9_blockd.h and related files
This commit breaks the overly broad header files into more
targeted and smaller ones, to help better structure the system
layout.
Change-Id: I7b24559d3ea6e582cf5d9bbe8f71459f9824d71b
Yunqing Wang [Tue, 7 Oct 2014 22:13:44 +0000 (15:13 -0700)]
Merge "Fix skip_txfm issue in rdopt code"
Jingning Han [Tue, 7 Oct 2014 22:00:22 +0000 (15:00 -0700)]
Use #define statement for MAX_MB_PLANE
Change-Id: I3a7f83ab1dbfcedc8a82fe798c2fa30dd9c7d696
Jingning Han [Tue, 7 Oct 2014 21:06:37 +0000 (14:06 -0700)]
Remove extra empty line
Change-Id: I6f2865bb8ba9295f5c45a4cad065aecbe1e63c32
Jingning Han [Tue, 7 Oct 2014 20:42:26 +0000 (13:42 -0700)]
Merge "Move inter filter defs to vp9_filter.h"
Jingning Han [Tue, 7 Oct 2014 20:42:17 +0000 (13:42 -0700)]
Merge "Reduce the scope of the header file used in vp9_context_tree.h"
Jingning Han [Tue, 7 Oct 2014 20:42:13 +0000 (13:42 -0700)]
Merge "Remove redundant header file from vp9_encoder.h"
Jingning Han [Tue, 7 Oct 2014 20:02:54 +0000 (13:02 -0700)]
Remove vp9_blockd.h from vp9_common_data.c
The basic data defs should be above block operation level.
Change-Id: I7dd9836d01120ab75e0c472baac9f15495ed0db5
Yunqing Wang [Tue, 7 Oct 2014 19:30:33 +0000 (12:30 -0700)]
Fix skip_txfm issue in rdopt code
Fixed an encoder crash. Set skip_txfm to 0 for cases that skip_txfm
isn't calculated. Put memcpy of skip_txfm at right place.
Change-Id: Ib3b6afc1b251a85b2a853c8138fb3393f48cfef6
Jingning Han [Tue, 7 Oct 2014 19:45:25 +0000 (12:45 -0700)]
Replace mi_width_log2() with mi_width_log2_lookup table
Change-Id: If0ea98aa139d14d40cd924114e18396aff36b5a5
Yaowu Xu [Tue, 7 Oct 2014 19:36:56 +0000 (12:36 -0700)]
Merge "Add range checking for decoded coefficients."
Jingning Han [Tue, 7 Oct 2014 19:30:33 +0000 (12:30 -0700)]
Take out repeated block width/height lookup functions
The functions b_width_log2 and b_height_log2 only do direct
table fetch. This commit unifies such use cases by using the
table directly and removes these functions.
Change-Id: I3103fc6ba959c1182886a2799d21b8b77c8a7b6b
Jingning Han [Tue, 7 Oct 2014 19:13:33 +0000 (12:13 -0700)]
Move inter filter defs to vp9_filter.h
Add comments on the use case of these definitions. Further reduce
the scope of header file in vp9_context_tree.h.
Change-Id: Ic4a7638e838d0ac441b64abfc56e57354c059d75
Deb Mukherjee [Tue, 7 Oct 2014 19:15:26 +0000 (12:15 -0700)]
Merge "Resolves some static analysis / undefined warnings"
Yaowu Xu [Tue, 7 Oct 2014 18:22:09 +0000 (11:22 -0700)]
Add range checking for decoded coefficients.
The coefficient range checking is enabled when configured with
--enable-debug --enable-coefficient-range-checking
for vpxdec to detect ill-formed input stream. This addresses the
problem raised by issue #792.
Change-Id: I3f9ea541de4dc742dd64389d6c5f543fb1c4f052
Deb Mukherjee [Mon, 6 Oct 2014 21:30:01 +0000 (14:30 -0700)]
Resolves some static analysis / undefined warnings
Also fixes a case of distortion becoming negative and messing
up the RDCOST computation.
Change-Id: Id345af9e8dfff31ade622be5756e51f2cdface53
Jingning Han [Tue, 7 Oct 2014 18:01:05 +0000 (11:01 -0700)]
Reduce the scope of the header file used in vp9_context_tree.h
Change-Id: I264ee35044a5973c7725daba7af870968353a3c1
JackyChen [Tue, 7 Oct 2014 17:51:55 +0000 (10:51 -0700)]
Merge "Add SSE2 code and unit test for VP9 denoiser."
Jingning Han [Tue, 7 Oct 2014 17:49:43 +0000 (10:49 -0700)]
Remove redundant header file from vp9_encoder.h
Change-Id: Ia212390cf8d36db5436bb0f0e1b696f70066341a
Jingning Han [Mon, 6 Oct 2014 22:53:27 +0000 (15:53 -0700)]
Fix eobs buffer pointer mis-use
This commit fixes a buffer pointer mis-use in store_coding_context.
The compression performance for stdhd set of speed 3 is improved by
0.097%. It fixes issue 869.
Change-Id: Idc59e22035eaf39f7133ca04174894374d647ff7
JackyChen [Thu, 18 Sep 2014 23:45:53 +0000 (16:45 -0700)]
Add SSE2 code and unit test for VP9 denoiser.
This SSE2 is based on VP8 denoiser's SSE2 code. In VP8, there are
only 16x16 blocks in denoiser, while in VP9, there are 13 different
block sizes.
By adding this SSE2 code, the improvement of encoder speed is around
20%(using C code vs using SSE2 code), vary for different clips.
The unit test for VP9 denoiser is to confirm that the SSE2 code is
bit-exact with the C code. The unit test covers all block size.
Change-Id: Ic8d8ac26db4ea40a5f146b5678a065af07eaaa3d
Jingning Han [Mon, 6 Oct 2014 17:18:17 +0000 (10:18 -0700)]
Add range check in inverse ADST 16x16
Bit-stream clarification related to Issue 868.
Change-Id: I92a7bc5b7782c9ea5c3f6cceec761742183c9514
Yaowu Xu [Mon, 6 Oct 2014 16:40:15 +0000 (09:40 -0700)]
Merge "Change the y4m buffer allocation size"
Jingning Han [Mon, 6 Oct 2014 16:29:29 +0000 (09:29 -0700)]
Merge "Fix an IOC issue in vp9_rd_pick_inter_mode_sb"
Yaowu Xu [Mon, 6 Oct 2014 14:57:36 +0000 (07:57 -0700)]
Merge "Properly initialize segmentID in nonrd coding path"
Paul Wilkins [Fri, 26 Sep 2014 16:20:01 +0000 (17:20 +0100)]
Improve two pass VBR accuracy.
Adjustments to the GF interval choice and minimum boost.
Adjustment to the calculation of 2 pass worst q.
Compared to 09/29 head there is metrics hit on derf of
(-0.123%,-0.191%)
Compared to the September 29 head and a baseline on
September 18 baseline the accuracy of the VBR rate control
measured on the derf set is as follows:-
Mean error % / Mean abs(error %)
Sept 18 baseline (-7.0% / 14.76%)
Sept 29 head (-15.7%, 19.8%)
This check in (-1.5% / 14.4%)
The mean undershoot is reduced slightly but the
worst case overshoot on e.g. harbour/highway is
increased. This will be addressed in a later patch.
Change-Id: Iffd9b0ab7432a131c98fbaaa82d1e5b40be72b58
Jingning Han [Sun, 5 Oct 2014 19:05:14 +0000 (12:05 -0700)]
Fix an IOC issue in vp9_rd_pick_inter_mode_sb
It is possible that the GOLDEN reference frame is not avaiable, in
which setting the predicted mv will be associated with a residual
value of INT_MAX. This commit checks this condition before
left shift and comparison with that of ALTREF frame, to avoid
overflow issue.
Change-Id: Ib98c3149dbdd016f2fe5beaafb13f67d469dd07c
Deb Mukherjee [Sat, 4 Oct 2014 15:50:30 +0000 (08:50 -0700)]
Some data type changes in vp9_idct.c
Resolves a visual studio warning, and includes some cleanups.
Change-Id: I6a7576ef323c475b7d1c659800cd82c6cb1fd18d
Deb Mukherjee [Sat, 4 Oct 2014 00:10:02 +0000 (17:10 -0700)]
Merge "Remove experimental-bitstream flag for profiles>0"
Yaowu Xu [Fri, 3 Oct 2014 23:14:49 +0000 (16:14 -0700)]
Change the y4m buffer allocation size
This attempts to fix issue #847
Change-Id: Ifa2f96b6b33624004272d83363e089b5b4dc5626
Deb Mukherjee [Fri, 3 Oct 2014 22:41:50 +0000 (15:41 -0700)]
Remove experimental-bitstream flag for profiles>0
Profiles 1-3 are stable enough that we can remove the
experimental bitstream commandline option.
Change-Id: Id2a64a08192d7eac6c45384ee34196330351c6d8
Jingning Han [Fri, 3 Oct 2014 22:24:02 +0000 (15:24 -0700)]
Merge "Fix indent in encode_rd_sb_row"
Jingning Han [Fri, 3 Oct 2014 22:23:54 +0000 (15:23 -0700)]
Merge "Rework partition search skip scheme"
Yaowu Xu [Fri, 3 Oct 2014 21:41:12 +0000 (14:41 -0700)]
Properly initialize segmentID in nonrd coding path
This commit adds proper initialization of segment id for variance AQ
mode in non-rd coding path. It fixes the enc/dec mismatch issue of
rt=7 with --aq-mode=1, as reported in issue #816
Change-Id: I02fa41b96345bf2e66077d5ea553f85ba800f7bb
Deb Mukherjee [Fri, 3 Oct 2014 19:45:39 +0000 (12:45 -0700)]
Merge "Incorporate WRAPLOW macro into non-highbitdepth tx"
Jingning Han [Fri, 3 Oct 2014 17:14:05 +0000 (10:14 -0700)]
Fix indent in encode_rd_sb_row
Change-Id: Icbcfe7b56d88474f4398b4c5b52f6719d551ab4a
Jingning Han [Fri, 3 Oct 2014 00:49:00 +0000 (17:49 -0700)]
Rework partition search skip scheme
This commit enables the encoder to skip split partition search if
the bigger block size has all non-zero quantized coefficients in low
frequency area and the total rate cost is below a certain threshold.
It logarithmatically scales the rate threshold according to the
current block size. For speed 3, the compression performance loss:
derf -0.093%
stdhd -0.066%
Local experiments show 4% - 20% encoding speed-up for speed 3.
blue_sky_1080p, 1500 kbps
51051 b/f, 35.891 dB, 67236 ms ->
50554 b/f, 35.857 dB, 59270 ms (12% speed-up)
old_town_cross_720p, 1500 kbps
14431 b/f, 36.249 dB, 57687 ms ->
14108 b/f, 36.172 dB, 46586 ms (19% speed-up)
pedestrian_area_1080p, 1500 kbps
50812 b/f, 40.124 dB, 100439 ms ->
50755 b/f, 40.118 dB, 96549 ms (4% speed-up)
mobile_calendar_720p, 1000 kbps
10352 b/f, 35.055 dB, 51837 ms ->
10172 b/f, 35.003 dB, 44076 ms (15% speed-up)
Change-Id: I412e34db49060775b3b89ba1738522317c3239c8
Deb Mukherjee [Thu, 2 Oct 2014 22:43:27 +0000 (15:43 -0700)]
Incorporate WRAPLOW macro into non-highbitdepth tx
Incorporates the WRAPLOW macro into the non-highbitdepth transforms
to aid hardware verification between a software C model and an
intended hardware implementation though the use of the configure
options: --enable-experimental --enable-emulate-hardware.
Note that to avoid further discrepancies between the sse/sse2
implementations of the transforms and the C implementation, when the
emulate hardware option is invoked, we also disable sse/sse2/etc.
Also incudes some minor cleanups/renaming etc.
Change-Id: Ib864d8493313927d429cce402982f1c8e45b3287
Deb Mukherjee [Fri, 3 Oct 2014 18:37:47 +0000 (11:37 -0700)]
Merge "Prevent negative cost for highbitdepth"
Deb Mukherjee [Fri, 3 Oct 2014 17:22:21 +0000 (10:22 -0700)]
Prevent negative cost for highbitdepth
Adds proper scaling for highbitdepth in a rdopt cost.
Change-Id: I066694799a7f491b830945ef1c66eb202071c355
Deb Mukherjee [Fri, 3 Oct 2014 07:09:41 +0000 (00:09 -0700)]
rdmult data type change
To fix a VS warning.
Change-Id: I4c530c0afe8d06acdb8cc78b7995aba57a25373d
Deb Mukherjee [Fri, 3 Oct 2014 03:06:04 +0000 (20:06 -0700)]
Merge "Adds highbitdepth support to svc examples"
Deb Mukherjee [Thu, 2 Oct 2014 18:43:05 +0000 (11:43 -0700)]
Adds highbitdepth support to svc examples
Change-Id: I59946642cb5c370726da33f4448a3deaba7d3f11
Yaowu Xu [Thu, 2 Oct 2014 22:15:58 +0000 (15:15 -0700)]
Merge "Make iscan and scan neighbor arrays static const."
Yaowu Xu [Wed, 1 Oct 2014 22:39:46 +0000 (15:39 -0700)]
Make iscan and scan neighbor arrays static const.
This commit changes the tables to be read only, which fixes
issue #866
Change-Id: I85bbe03f9d344f50570f8c1c61699bdc5cee248f
Alex Converse [Thu, 2 Oct 2014 20:52:15 +0000 (13:52 -0700)]
Merge "Add a 1x1 enc/dec test."
Debargha Mukherjee [Thu, 2 Oct 2014 20:51:38 +0000 (13:51 -0700)]
Merge "Fix invalid memory access in inter prediction (issue 853)."
Alex Converse [Wed, 1 Oct 2014 18:40:34 +0000 (11:40 -0700)]
Add a 1x1 enc/dec test.
Change-Id: I777f49a3c2c2aaa04ae23904396bd7254e1afd8c
Alex Converse [Wed, 1 Oct 2014 18:23:57 +0000 (11:23 -0700)]
Fix subsampling check for images 1 pixel wide/tall
Change-Id: I0e262ede7eb4a4ae0c86181922d744e542e93350
Deb Mukherjee [Thu, 2 Oct 2014 16:33:54 +0000 (09:33 -0700)]
Merge "Adds some missing I440 checks"
Deb Mukherjee [Thu, 2 Oct 2014 14:56:23 +0000 (07:56 -0700)]
Adds some missing I440 checks
Change-Id: I034b73bb27e8023733aae63e6f8565f0a64c7267
Deb Mukherjee [Thu, 2 Oct 2014 16:22:22 +0000 (09:22 -0700)]
Merge "rdmult data type change to fix high bit-depth"
Alexander Voronov [Thu, 2 Oct 2014 13:14:12 +0000 (17:14 +0400)]
Fix invalid memory access in inter prediction (issue 853).
Change-Id: I5a566d6ade720f212a60c0ad5d6f1ee1d1d37f2e
Deb Mukherjee [Thu, 2 Oct 2014 14:37:26 +0000 (07:37 -0700)]
rdmult data type change to fix high bit-depth
Fixes an intermittent assert failure for highbitdepth.
Change-Id: If8cad0209a94f1184b69c7b3f1d587934f857d9b
Tom Finegan [Thu, 2 Oct 2014 04:05:25 +0000 (21:05 -0700)]
Merge "Fix iphonesimulator and armv6-darwin build targets."
Deb Mukherjee [Thu, 2 Oct 2014 02:54:46 +0000 (19:54 -0700)]
Merge "Adds support of 440 content."
Jingning Han [Thu, 2 Oct 2014 00:05:36 +0000 (17:05 -0700)]
Merge "Remove redundant header file from vp9_idct.h"
Jingning Han [Thu, 2 Oct 2014 00:05:25 +0000 (17:05 -0700)]
Merge "Remove unused header files from vp9_encodemb.h"
Deb Mukherjee [Wed, 1 Oct 2014 19:17:37 +0000 (12:17 -0700)]
Adds support of 440 content.
Adds enums and corresponding vpx level code.
Change-Id: Ia402d47490a4466988d7edc6b7e3e5163f20a381
Deb Mukherjee [Wed, 1 Oct 2014 23:47:43 +0000 (16:47 -0700)]
Merge "High-bitdepth bugfixes"
Yunqing Wang [Wed, 1 Oct 2014 23:19:56 +0000 (16:19 -0700)]
Merge "Modify block transform skipping check"
Jingning Han [Wed, 1 Oct 2014 23:17:44 +0000 (16:17 -0700)]
Merge "Remove repeated header files from vp9_block.h"
Jingning Han [Wed, 1 Oct 2014 23:17:33 +0000 (16:17 -0700)]
Merge "Remove repeated vpx_integer.h from vp9_prob.h"
Jingning Han [Wed, 1 Oct 2014 23:17:18 +0000 (16:17 -0700)]
Merge "Use precise header files in vp9_entropymv.h"
Jingning Han [Wed, 1 Oct 2014 21:57:56 +0000 (14:57 -0700)]
Remove redundant header file from vp9_idct.h
Change-Id: Id92544762e7b96d3c729dfc8e04ecff91cbcc7f9
Jingning Han [Wed, 1 Oct 2014 21:50:24 +0000 (14:50 -0700)]
Remove unused header files from vp9_encodemb.h
Change-Id: Icfc3fb62cc0b05e435814035bfe1f2e2870442b4
Deb Mukherjee [Wed, 1 Oct 2014 04:56:33 +0000 (21:56 -0700)]
High-bitdepth bugfixes
Miscellaneous bug-fixes for high bitdepth functionality.
With this patch, high bit-depth profiles become mostly functional,
except for an intermittent assert failure issue that is being
tracked.
Change-Id: I6a7fcbdcf1e5b09842e88535f8442d2e1230748c
Tom Finegan [Wed, 1 Oct 2014 20:33:34 +0000 (13:33 -0700)]
Fix iphonesimulator and armv6-darwin build targets.
- iphonesimulator: IOS_VERSION_MIN was declared in the wrong place.
- armv6: linking via ld instead of CXX is basically required.
Change-Id: Iad187691f633dcf2bc3e3590e88084bb926edb76
Jingning Han [Wed, 1 Oct 2014 19:59:09 +0000 (12:59 -0700)]
Remove repeated header files from vp9_block.h
This commit removes unused header file vp9_onyxc_int.h and repeatedly
included file vpx_ports/mem.h from vp9_block.h
Change-Id: I400b210bd1da48f1880bd50a8f4a6e2c690e15a1
Yunqing Wang [Wed, 1 Oct 2014 18:31:34 +0000 (11:31 -0700)]
Modify block transform skipping check
Block transform skipping was implemented based on DCT's energy
conservation property. Modified the thresholds using zero bin
parameters. AC and DC coefficients were checked separately to
allow better identifying of skippable blocks.
Borg test at speed 3 showed:
stdhd set: psnr gain: 0.153%, ssim gain: 0.051%;
derf set: psnr gain: 0.023%, ssim gain: 0.036%
For most test clips, the encoding speedup is 1% - 2%.
parkrun(720p): 7.5% speedup, park_joy(1080p): 3.5% speedup.
Change-Id: If28eb81113a077414f5ca7b021c14f9069b373bb
Jingning Han [Wed, 1 Oct 2014 19:45:52 +0000 (12:45 -0700)]
Remove repeated vpx_integer.h from vp9_prob.h
The file vpx_integer.h has been included and used in the parent
file vp9_common.h.
Change-Id: I9c65f08353576f9ef1e5ea17244fc5ca964ec002
Jingning Han [Wed, 1 Oct 2014 19:36:07 +0000 (12:36 -0700)]
Use precise header files in vp9_entropymv.h
The commit cleans up the header files in vp9_entropymv.h. This
file should only depend on vp9_mv.h and vp9_prob.h. Remove the
giant vp9_blockd.h from header file list.
Change-Id: I44cd26d2cfd10a16a9325778347dd53f888a874c
Alex Converse [Wed, 1 Oct 2014 18:57:47 +0000 (11:57 -0700)]
Drop the very slow BEST encoding from the lossless test.
BEST is used in very few tests.
Change-Id: I71880534fe5a44721e7bac8be49b5f71766c1e5f
Jingning Han [Wed, 1 Oct 2014 18:19:10 +0000 (11:19 -0700)]
Merge "Conditionally skip reference frame check"
Jingning Han [Mon, 29 Sep 2014 19:42:07 +0000 (12:42 -0700)]
Conditionally skip reference frame check
For regular inter frames, if the distance from GOLDEN_FRAME is larger
than 2 and if the predicted motion vector of LAST_FRAME gives lower
sse than that of GOLDEN_FRAME, skip the GOLDE_FRAME mode checking in
the rate-distortion optimization. It provides about 5% speed-up at
expense of -0.137% and -0.230% performance down for speed 3. Local
experiment results:
pedestrian 1080p 2000 kbps
66712 b/f, 40.908 dB, 113688 ms ->
66768 b/f, 40.911 dB, 108752 ms
blue_sky 1080p 2000 kbps
51054 b/f, 35.894 dB, 70406 ms ->
51051 b/f, 35.891 dB, 67236 ms
old_town_cross 720p 1500 kbps
14412 b/f, 36.252 dB, 60690 ms ->
14431 b/f, 36.249 dB, 57346 ms
Change-Id: Idfcafe7f63da7a4896602fc60bd7093f0f0d82ca
Deb Mukherjee [Wed, 1 Oct 2014 04:37:27 +0000 (21:37 -0700)]
Merge "Moves transform type defines to vp9_common"
Tom Finegan [Wed, 1 Oct 2014 04:12:04 +0000 (21:12 -0700)]
Merge "iOS build configuration updates."
Tom Finegan [Wed, 1 Oct 2014 03:12:56 +0000 (20:12 -0700)]
iOS build configuration updates.
Commit message longer than commit edition.
Simulator and devices:
Add a common minimum iOS version that can be shared by iOS and iOS
simulator targets.
Fix --enable-debug (for device targets; sim was fine):
Allow for successful configuration and build with --enable-debug when
CXX is available by:
- Using CXX as LD (when CXX is available).
- Passing the correct form of the iOS minimum version parameter based on
whether LD is CXX or really is ld.
Note: ld -g still won't work on macosx with this patch, so if CXX is not
available, configuration will still fail reporting that the toolchain
cannot link executables when attempting to pass --enable-debug (because
ld returns an error code since the one included with xcode doesn't
support the -g argument).
Change-Id: Ia488aed167cc2ca82ee9e980589fb76dddce634f
Deb Mukherjee [Tue, 30 Sep 2014 21:29:34 +0000 (14:29 -0700)]
Moves transform type defines to vp9_common
Moves transform type defines to vp9_common.h from vp9_idct.h
so that they can be included in vp9_rtcd_defs.pl safely.
Change-Id: Id5106227bee5934f7ce8b06f2eb9fa8a9a2e0ddb
James Zern [Tue, 30 Sep 2014 23:06:23 +0000 (16:06 -0700)]
vpx_integer.h: define __STDC_LIMIT_MACROS
fixes --enable-coefficient-range-checking --enable-debug
vp9_idct.h has references to INT16_MIN/MAX; this header is included in
c++ source so needs to request the macros
Change-Id: I2e643eb973c2d84729fa3cf2f4c4d8bf65cfdff0
James Zern [Tue, 30 Sep 2014 22:29:36 +0000 (15:29 -0700)]
Revert "Fix compiling error in vp9_idct.h"
This reverts commit
eafc8c9c40d712aabe234bed5269a02c62fa0bfc.
tran_low_t/tran_high_t don't belong in a public header, they're private.
Similarly the public headers shouldn't rely on config defines,
vpx_config.h isn't installed.
Change-Id: I194ec273598da418df8dd727b6c0e78a556740ad