platform/upstream/libvpx.git
9 years agoadd test-data.mk
James Zern [Fri, 3 Oct 2014 23:18:58 +0000 (16:18 -0700)]
add test-data.mk

splits the test sources (test.mk) and the test data.

Change-Id: Id614cfe68bfbc09b0e429a37a21ec7a9dcdfadc6

9 years agoMerge "set_vt_partitioning: fix type conversion warning"
James Zern [Thu, 9 Oct 2014 10:53:01 +0000 (03:53 -0700)]
Merge "set_vt_partitioning: fix type conversion warning"

9 years agoset_vt_partitioning: fix type conversion warning
James Zern [Thu, 9 Oct 2014 09:41:36 +0000 (11:41 +0200)]
set_vt_partitioning: fix type conversion warning

double -> int64
+ make threshold_multiplier an int

Change-Id: I6d3607fdf13d670f57c9d9b04a80acb2be1346a0

9 years agovp9_rtcd_defs: fix vp9_avg_8x8 declaration
James Zern [Thu, 9 Oct 2014 08:44:42 +0000 (10:44 +0200)]
vp9_rtcd_defs: fix vp9_avg_8x8 declaration

vp9_avg_8x8 does not depend on x86inc, fixes 32-bit OS X build

Change-Id: I709b874ea84bf57c8cdb5ac7d43eecc6b8c1a2dd

9 years agoMerge "Allow mode search breakout at very low prediction errors"
Yunqing Wang [Thu, 9 Oct 2014 02:58:18 +0000 (19:58 -0700)]
Merge "Allow mode search breakout at very low prediction errors"

9 years agoAllow mode search breakout at very low prediction errors
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

9 years agoUse local variable in vp9_rd_pick_inter_mode_sb
Jingning Han [Wed, 8 Oct 2014 00:10:38 +0000 (17:10 -0700)]
Use local variable in vp9_rd_pick_inter_mode_sb

Change-Id: Ie35a965a6b8de536ccaf61ff61498620d22db205

9 years agoMerge "Clean up header files in vp9_blockd.h and related files"
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"

9 years agoMerge "Use #define statement for MAX_MB_PLANE"
Jingning Han [Wed, 8 Oct 2014 22:24:56 +0000 (15:24 -0700)]
Merge "Use #define statement for MAX_MB_PLANE"

9 years agoFixes naming bug from previous highbitdepth patch
Deb Mukherjee [Wed, 8 Oct 2014 19:46:37 +0000 (12:46 -0700)]
Fixes naming bug from previous highbitdepth patch

Change-Id: Ife939930309ceea730dd5df594b8f36e6644bf36

9 years agoMerge "Refactoring of highbitdepth bitshift operations"
Deb Mukherjee [Wed, 8 Oct 2014 18:44:50 +0000 (11:44 -0700)]
Merge "Refactoring of highbitdepth bitshift operations"

9 years agoMerge "Add unit test for VP8 denoiser."
JackyChen [Wed, 8 Oct 2014 18:41:14 +0000 (11:41 -0700)]
Merge "Add unit test for VP8 denoiser."

9 years agoRefactoring of highbitdepth bitshift operations
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

9 years agoAdd unit test for VP8 denoiser.
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

9 years agoMerge "experimental : partition using 1/8 x 1/8 image"
Jim Bankoski [Wed, 8 Oct 2014 16:04:26 +0000 (09:04 -0700)]
Merge "experimental : partition using 1/8 x 1/8 image"

9 years agoMerge "Force better lower quantizer keyframe in case of high quantizer."
Jim Bankoski [Wed, 8 Oct 2014 16:04:01 +0000 (09:04 -0700)]
Merge "Force better lower quantizer keyframe in case of high quantizer."

9 years agoRevert "Change the y4m buffer allocation size"
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

9 years agoMerge "Improve two pass VBR accuracy."
Paul Wilkins [Wed, 8 Oct 2014 11:23:30 +0000 (04:23 -0700)]
Merge "Improve two pass VBR accuracy."

9 years agoMerge "Two pass rc changes."
Paul Wilkins [Wed, 8 Oct 2014 11:23:20 +0000 (04:23 -0700)]
Merge "Two pass rc changes."

9 years agoexperimental : partition using 1/8 x 1/8 image
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

9 years agoForce better lower quantizer keyframe in case of high quantizer.
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

9 years agoMerge "Remove extra empty line"
Jingning Han [Tue, 7 Oct 2014 22:34:19 +0000 (15:34 -0700)]
Merge "Remove extra empty line"

9 years agoMerge "Remove vp9_blockd.h from vp9_common_data.c"
Jingning Han [Tue, 7 Oct 2014 22:34:07 +0000 (15:34 -0700)]
Merge "Remove vp9_blockd.h from vp9_common_data.c"

9 years agoMerge "Replace mi_width_log2() with mi_width_log2_lookup table"
Jingning Han [Tue, 7 Oct 2014 22:33:52 +0000 (15:33 -0700)]
Merge "Replace mi_width_log2() with mi_width_log2_lookup table"

9 years agoMerge "Take out repeated block width/height lookup functions"
Jingning Han [Tue, 7 Oct 2014 22:33:45 +0000 (15:33 -0700)]
Merge "Take out repeated block width/height lookup functions"

9 years agoClean up header files in vp9_blockd.h and related files
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

9 years agoMerge "Fix skip_txfm issue in rdopt code"
Yunqing Wang [Tue, 7 Oct 2014 22:13:44 +0000 (15:13 -0700)]
Merge "Fix skip_txfm issue in rdopt code"

9 years agoUse #define statement for MAX_MB_PLANE
Jingning Han [Tue, 7 Oct 2014 22:00:22 +0000 (15:00 -0700)]
Use #define statement for MAX_MB_PLANE

Change-Id: I3a7f83ab1dbfcedc8a82fe798c2fa30dd9c7d696

9 years agoRemove extra empty line
Jingning Han [Tue, 7 Oct 2014 21:06:37 +0000 (14:06 -0700)]
Remove extra empty line

Change-Id: I6f2865bb8ba9295f5c45a4cad065aecbe1e63c32

9 years agoMerge "Move inter filter defs to vp9_filter.h"
Jingning Han [Tue, 7 Oct 2014 20:42:26 +0000 (13:42 -0700)]
Merge "Move inter filter defs to vp9_filter.h"

9 years agoMerge "Reduce the scope of the header file used in vp9_context_tree.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"

9 years agoMerge "Remove redundant header file from vp9_encoder.h"
Jingning Han [Tue, 7 Oct 2014 20:42:13 +0000 (13:42 -0700)]
Merge "Remove redundant header file from vp9_encoder.h"

9 years agoRemove vp9_blockd.h from vp9_common_data.c
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

9 years agoFix skip_txfm issue in rdopt code
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

9 years agoReplace mi_width_log2() with mi_width_log2_lookup table
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

9 years agoMerge "Add range checking for decoded coefficients."
Yaowu Xu [Tue, 7 Oct 2014 19:36:56 +0000 (12:36 -0700)]
Merge "Add range checking for decoded coefficients."

9 years agoTake out repeated block width/height lookup functions
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

9 years agoMove inter filter defs to vp9_filter.h
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

9 years agoMerge "Resolves some static analysis / undefined warnings"
Deb Mukherjee [Tue, 7 Oct 2014 19:15:26 +0000 (12:15 -0700)]
Merge "Resolves some static analysis / undefined warnings"

9 years agoAdd range checking for decoded coefficients.
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

9 years agoResolves some static analysis / undefined warnings
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

9 years agoReduce the scope of the header file used in vp9_context_tree.h
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

9 years agoMerge "Add SSE2 code and unit test for VP9 denoiser."
JackyChen [Tue, 7 Oct 2014 17:51:55 +0000 (10:51 -0700)]
Merge "Add SSE2 code and unit test for VP9 denoiser."

9 years agoRemove redundant header file from vp9_encoder.h
Jingning Han [Tue, 7 Oct 2014 17:49:43 +0000 (10:49 -0700)]
Remove redundant header file from vp9_encoder.h

Change-Id: Ia212390cf8d36db5436bb0f0e1b696f70066341a

9 years agoFix eobs buffer pointer mis-use
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

9 years agoAdd SSE2 code and unit test for VP9 denoiser.
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

9 years agoAdd range check in inverse ADST 16x16
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

9 years agoMerge "Change the y4m buffer allocation size"
Yaowu Xu [Mon, 6 Oct 2014 16:40:15 +0000 (09:40 -0700)]
Merge "Change the y4m buffer allocation size"

9 years agoMerge "Fix an IOC issue in vp9_rd_pick_inter_mode_sb"
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"

9 years agoMerge "Properly initialize segmentID in nonrd coding path"
Yaowu Xu [Mon, 6 Oct 2014 14:57:36 +0000 (07:57 -0700)]
Merge "Properly initialize segmentID in nonrd coding path"

9 years agoImprove two pass VBR accuracy.
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

9 years agoFix an IOC issue in vp9_rd_pick_inter_mode_sb
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

9 years agoSome data type changes in vp9_idct.c
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

9 years agoMerge "Remove experimental-bitstream flag for profiles>0"
Deb Mukherjee [Sat, 4 Oct 2014 00:10:02 +0000 (17:10 -0700)]
Merge "Remove experimental-bitstream flag for profiles>0"

9 years agoChange the y4m buffer allocation size
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

9 years agoRemove experimental-bitstream flag for profiles>0
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

9 years agoMerge "Fix indent in encode_rd_sb_row"
Jingning Han [Fri, 3 Oct 2014 22:24:02 +0000 (15:24 -0700)]
Merge "Fix indent in encode_rd_sb_row"

9 years agoMerge "Rework partition search skip scheme"
Jingning Han [Fri, 3 Oct 2014 22:23:54 +0000 (15:23 -0700)]
Merge "Rework partition search skip scheme"

9 years agoProperly initialize segmentID in nonrd coding path
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

9 years agoMerge "Incorporate WRAPLOW macro into non-highbitdepth tx"
Deb Mukherjee [Fri, 3 Oct 2014 19:45:39 +0000 (12:45 -0700)]
Merge "Incorporate WRAPLOW macro into non-highbitdepth tx"

9 years agoFix indent in encode_rd_sb_row
Jingning Han [Fri, 3 Oct 2014 17:14:05 +0000 (10:14 -0700)]
Fix indent in encode_rd_sb_row

Change-Id: Icbcfe7b56d88474f4398b4c5b52f6719d551ab4a

9 years agoRework partition search skip scheme
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

9 years agoIncorporate WRAPLOW macro into non-highbitdepth tx
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

9 years agoMerge "Prevent negative cost for highbitdepth"
Deb Mukherjee [Fri, 3 Oct 2014 18:37:47 +0000 (11:37 -0700)]
Merge "Prevent negative cost for highbitdepth"

9 years agoPrevent 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

9 years agordmult data type change
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

9 years agoMerge "Adds highbitdepth support to svc examples"
Deb Mukherjee [Fri, 3 Oct 2014 03:06:04 +0000 (20:06 -0700)]
Merge "Adds highbitdepth support to svc examples"

9 years agoAdds 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

9 years agoMerge "Make iscan and scan neighbor arrays static const."
Yaowu Xu [Thu, 2 Oct 2014 22:15:58 +0000 (15:15 -0700)]
Merge "Make iscan and scan neighbor arrays static const."

9 years agoMake 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

9 years agoMerge "Add a 1x1 enc/dec test."
Alex Converse [Thu, 2 Oct 2014 20:52:15 +0000 (13:52 -0700)]
Merge "Add a 1x1 enc/dec test."

9 years agoMerge "Fix invalid memory access in inter prediction (issue 853)."
Debargha Mukherjee [Thu, 2 Oct 2014 20:51:38 +0000 (13:51 -0700)]
Merge "Fix invalid memory access in inter prediction (issue 853)."

9 years agoAdd a 1x1 enc/dec test.
Alex Converse [Wed, 1 Oct 2014 18:40:34 +0000 (11:40 -0700)]
Add a 1x1 enc/dec test.

Change-Id: I777f49a3c2c2aaa04ae23904396bd7254e1afd8c

9 years agoFix subsampling check for images 1 pixel wide/tall
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

9 years agoMerge "Adds some missing I440 checks"
Deb Mukherjee [Thu, 2 Oct 2014 16:33:54 +0000 (09:33 -0700)]
Merge "Adds some missing I440 checks"

9 years agoAdds 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

9 years agoMerge "rdmult data type change to fix high bit-depth"
Deb Mukherjee [Thu, 2 Oct 2014 16:22:22 +0000 (09:22 -0700)]
Merge "rdmult data type change to fix high bit-depth"

9 years agoFix invalid memory access in inter prediction (issue 853).
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

9 years agordmult data type change to fix high bit-depth
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

9 years agoMerge "Fix iphonesimulator and armv6-darwin build targets."
Tom Finegan [Thu, 2 Oct 2014 04:05:25 +0000 (21:05 -0700)]
Merge "Fix iphonesimulator and armv6-darwin build targets."

9 years agoMerge "Adds support of 440 content."
Deb Mukherjee [Thu, 2 Oct 2014 02:54:46 +0000 (19:54 -0700)]
Merge "Adds support of 440 content."

9 years agoMerge "Remove redundant header file from vp9_idct.h"
Jingning Han [Thu, 2 Oct 2014 00:05:36 +0000 (17:05 -0700)]
Merge "Remove redundant header file from vp9_idct.h"

9 years agoMerge "Remove unused header files from vp9_encodemb.h"
Jingning Han [Thu, 2 Oct 2014 00:05:25 +0000 (17:05 -0700)]
Merge "Remove unused header files from vp9_encodemb.h"

9 years agoAdds support of 440 content.
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

9 years agoMerge "High-bitdepth bugfixes"
Deb Mukherjee [Wed, 1 Oct 2014 23:47:43 +0000 (16:47 -0700)]
Merge "High-bitdepth bugfixes"

9 years agoMerge "Modify block transform skipping check"
Yunqing Wang [Wed, 1 Oct 2014 23:19:56 +0000 (16:19 -0700)]
Merge "Modify block transform skipping check"

9 years agoMerge "Remove repeated header files from vp9_block.h"
Jingning Han [Wed, 1 Oct 2014 23:17:44 +0000 (16:17 -0700)]
Merge "Remove repeated header files from vp9_block.h"

9 years agoMerge "Remove repeated vpx_integer.h from vp9_prob.h"
Jingning Han [Wed, 1 Oct 2014 23:17:33 +0000 (16:17 -0700)]
Merge "Remove repeated vpx_integer.h from vp9_prob.h"

9 years agoMerge "Use precise header files in vp9_entropymv.h"
Jingning Han [Wed, 1 Oct 2014 23:17:18 +0000 (16:17 -0700)]
Merge "Use precise header files in vp9_entropymv.h"

9 years agoRemove redundant header file from vp9_idct.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

9 years agoRemove unused header files from vp9_encodemb.h
Jingning Han [Wed, 1 Oct 2014 21:50:24 +0000 (14:50 -0700)]
Remove unused header files from vp9_encodemb.h

Change-Id: Icfc3fb62cc0b05e435814035bfe1f2e2870442b4

9 years agoHigh-bitdepth bugfixes
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

9 years agoFix iphonesimulator and armv6-darwin build targets.
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

9 years agoRemove repeated header files from vp9_block.h
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

9 years agoModify block transform skipping check
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

9 years agoRemove repeated vpx_integer.h from vp9_prob.h
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

9 years agoUse precise header files in vp9_entropymv.h
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

9 years agoDrop the very slow BEST encoding from the lossless test.
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

9 years agoMerge "Conditionally skip reference frame check"
Jingning Han [Wed, 1 Oct 2014 18:19:10 +0000 (11:19 -0700)]
Merge "Conditionally skip reference frame check"

9 years agoConditionally 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