]> granicus.if.org Git - libvpx/log
libvpx
9 years agoMerge "Tuning SATD rate calculation for speed"
Jingning Han [Tue, 31 Mar 2015 21:24:26 +0000 (14:24 -0700)]
Merge "Tuning SATD rate calculation for speed"

9 years agoMerge "Use aligned copy in 8x8 Hadamard transform SSE2"
Jingning Han [Tue, 31 Mar 2015 19:16:47 +0000 (12:16 -0700)]
Merge "Use aligned copy in 8x8 Hadamard transform SSE2"

9 years agoMerge "Allow block skip coding option in RTC mode"
Jingning Han [Tue, 31 Mar 2015 19:16:36 +0000 (12:16 -0700)]
Merge "Allow block skip coding option in RTC mode"

9 years agoMerge "Fix 8x8 Hadamard SSE2 implementation"
Jingning Han [Tue, 31 Mar 2015 19:16:27 +0000 (12:16 -0700)]
Merge "Fix 8x8 Hadamard SSE2 implementation"

9 years agoMerge "VP9E_GET_ACTIVE_MAP API function."
Alex Converse [Tue, 31 Mar 2015 18:52:56 +0000 (11:52 -0700)]
Merge "VP9E_GET_ACTIVE_MAP API function."

9 years agoTuning SATD rate calculation for speed
Jingning Han [Tue, 31 Mar 2015 17:57:41 +0000 (10:57 -0700)]
Tuning SATD rate calculation for speed

This commit allows the encoder to check the eob per transform
block to decide how to compute the SATD rate cost. If the entire
block is quantized to zero, there is no need to add anything; if
only the DC coefficient is non-zero, add its absolute value;
otherwise, sum over the block. This reduces the CPU cycles spent
on vp9_satd_sse2 to one third.

Change-Id: I0d56044b793b286efc0875fafc0b8bf2d2047e32

9 years agoMerge "Move vp9_coef_con_tree to common/"
hui su [Tue, 31 Mar 2015 17:51:10 +0000 (10:51 -0700)]
Merge "Move vp9_coef_con_tree to common/"

9 years agoUse aligned copy in 8x8 Hadamard transform SSE2
Jingning Han [Tue, 31 Mar 2015 17:08:29 +0000 (10:08 -0700)]
Use aligned copy in 8x8 Hadamard transform SSE2

This reduces the 8x8 Hadamard transform cycles by 20%.

Change-Id: If34c5e02f3afa42244c6efabe121f7cf5d2df41b

9 years agoMerge "Enable 16x16 Hadamard transform in SATD based mode decision"
Jingning Han [Tue, 31 Mar 2015 16:55:41 +0000 (09:55 -0700)]
Merge "Enable 16x16 Hadamard transform in SATD based mode decision"

9 years agoMerge "Use SATD based mode decision for block sizes below 16x16"
Jingning Han [Tue, 31 Mar 2015 16:47:47 +0000 (09:47 -0700)]
Merge "Use SATD based mode decision for block sizes below 16x16"

9 years agoAllow block skip coding option in RTC mode
Jingning Han [Tue, 31 Mar 2015 16:25:21 +0000 (09:25 -0700)]
Allow block skip coding option in RTC mode

When the estimated rate-distortion cost of skip coding mode is
lower than that of sending quantized coefficients, allow the
encoder to drop these coefficients. This improves the compression
performance of speed -6 by 0.268% and makes the encoding speed
slightly faster.

Change-Id: Idff2d7ba59f27ead33dd5a0e9f68746ed3c2ab68

9 years agoMove vp9_coef_con_tree to common/
hui su [Tue, 31 Mar 2015 16:20:46 +0000 (09:20 -0700)]
Move vp9_coef_con_tree to common/

This tree should be defined in common/, as it is needed for
both encoder and decoder.

Change-Id: I4f5cbc80025cf2ced14182c98f7c82dc7d0f87db

9 years agoMerge "Reuse inter prediction pixel block for Hadamard transform"
Jingning Han [Mon, 30 Mar 2015 23:09:38 +0000 (16:09 -0700)]
Merge "Reuse inter prediction pixel block for Hadamard transform"

9 years agoFix 8x8 Hadamard SSE2 implementation
Jingning Han [Mon, 30 Mar 2015 22:02:54 +0000 (15:02 -0700)]
Fix 8x8 Hadamard SSE2 implementation

This commit fixes the SSE2 version 8x8 Hadamard transform
alignment and makes it consistent with the C version.

Change-Id: I1304e5f97e0e5ef2d798fe38081609c39f5bfe74

9 years agoEnable 16x16 Hadamard transform in SATD based mode decision
Jingning Han [Mon, 30 Mar 2015 19:31:46 +0000 (12:31 -0700)]
Enable 16x16 Hadamard transform in SATD based mode decision

This commit replaces the 16x16 2D-DCT transform with Hadamard
transform for RTC coding mode. It reduces the CPU cycles cost
on 16x16 transform by 5X. Overall it makes the speed -6 encoding
speed 1.5% faster without compromise on compression performance.

Change-Id: If6c993831dc4c678d841edc804ff395ed37f2a1b

9 years agoMerge "Hadamard transform based coding mode decision process"
Jingning Han [Mon, 30 Mar 2015 22:43:15 +0000 (15:43 -0700)]
Merge "Hadamard transform based coding mode decision process"

9 years agoUse SATD based mode decision for block sizes below 16x16
Jingning Han [Mon, 30 Mar 2015 18:09:29 +0000 (11:09 -0700)]
Use SATD based mode decision for block sizes below 16x16

This commit makes the encoder to select between SATD/variance as
metric for mode decision. It also allows to account chroma
component costs for mode decision as well. The overall encoding
time increase as compared to variance based mode selection is about
15% for speed -6. The compression performance is on average 2.2%
better than variance based approach, with about 5% compression
performance gains for hard clips (e.g., jimredvga, nikas720p, and
mmmoving) at lower bit-rate range.

Change-Id: I4d04a31d36f4fcb3f5f491dacd6e7fe44cb9d815

9 years agoReuse inter prediction pixel block for Hadamard transform
Jingning Han [Fri, 27 Mar 2015 00:08:35 +0000 (17:08 -0700)]
Reuse inter prediction pixel block for Hadamard transform

It saves one unnecessary motion compensated prediction constructed
by using 8-tap filter.

Change-Id: I101215131e6f38621d5935885f94cc74de6a5377

9 years agoHadamard transform based coding mode decision process
Jingning Han [Mon, 23 Mar 2015 17:02:42 +0000 (10:02 -0700)]
Hadamard transform based coding mode decision process

This commit uses Hadamard transform based rate-distortion cost
estimate for rtc coding mode decision. It improves the compression
performance of speed -6 for many hard clips at lower bit-rates.
For example, 5.5% for jimredvga, 6.7% for mmmoving, 6.1% for
niklas720p. This will introduce extra encoding cycle costs at
this point.

Change-Id: Iaf70634fa2417a705ee29f2456175b981db3d375

9 years agoMerge "Simplify skip check."
Alex Converse [Mon, 30 Mar 2015 18:31:45 +0000 (11:31 -0700)]
Merge "Simplify skip check."

9 years agoMerge "vp9_postproc.c: eliminate -Wshadow build warnings."
jackychen [Mon, 30 Mar 2015 17:29:39 +0000 (10:29 -0700)]
Merge "vp9_postproc.c: eliminate -Wshadow build warnings."

9 years agovp9_postproc.c: eliminate -Wshadow build warnings.
jackychen [Fri, 27 Mar 2015 23:22:34 +0000 (16:22 -0700)]
vp9_postproc.c: eliminate -Wshadow build warnings.

Change-Id: I6df525a9ad1ae3cfbba8710d21db8fee76e64dbb

9 years agoSpeed 5: use non-rd mode for key frame coding.
Marco [Wed, 25 Mar 2015 21:40:33 +0000 (14:40 -0700)]
Speed 5: use non-rd mode for key frame coding.

Metrics on RTC set go down by ~1.5% on average.
Key frame encoding time goes down by factor of ~5.

Change-Id: Ia83acc55848613870e5ac6efe7f3d904d877febb

9 years agoMerge "Fix the issue that --limit is not working in --frame-parallel mode."
hkuang [Fri, 27 Mar 2015 17:12:45 +0000 (10:12 -0700)]
Merge "Fix the issue that --limit is not working in --frame-parallel mode."

9 years agoMerge "Remove 8-bit array in HBD"
Adrian Grange [Thu, 26 Mar 2015 23:31:27 +0000 (16:31 -0700)]
Merge "Remove 8-bit array in HBD"

9 years agoMerge "Replace heap with stack memory allocation"
Adrian Grange [Thu, 26 Mar 2015 23:31:06 +0000 (16:31 -0700)]
Merge "Replace heap with stack memory allocation"

9 years agoMerge "Fix use of scaling in joint motion search"
Adrian Grange [Thu, 26 Mar 2015 23:30:35 +0000 (16:30 -0700)]
Merge "Fix use of scaling in joint motion search"

9 years agoFix the issue that --limit is not working in --frame-parallel mode.
hkuang [Thu, 26 Mar 2015 22:36:22 +0000 (15:36 -0700)]
Fix the issue that --limit is not working in --frame-parallel mode.

The reason is due to early break out before outputting all the frames inside
decoder.

Change-Id: I4a138fba08d12935c39bd7602c95f8c18b474e29

9 years agoRemove duplicate code from merge
Johann [Thu, 26 Mar 2015 21:56:17 +0000 (14:56 -0700)]
Remove duplicate code from merge

Change-Id: I5e2a1270001b7e29f3f198d57ea40e1efccef367

9 years agoRemove 8-bit array in HBD
Adrian Grange [Tue, 24 Mar 2015 21:28:15 +0000 (14:28 -0700)]
Remove 8-bit array in HBD

Creating both 8- and 16-bit arrays and then only using one
of them is wasteful.

Change-Id: Ic5b397c283efaff7bcfff2d2413838ba3e065561

9 years agoReplace heap with stack memory allocation
Adrian Grange [Tue, 24 Mar 2015 16:44:07 +0000 (09:44 -0700)]
Replace heap with stack memory allocation

Replaced the dynamic memory allocation of the
second_pred buffer with an allocation on the stack.

Change-Id: I2716c46b71e8587714ca5733a99eca2c68419b23

9 years agoFix use of scaling in joint motion search
Adrian Grange [Tue, 24 Mar 2015 15:55:35 +0000 (08:55 -0700)]
Fix use of scaling in joint motion search

To enable us to the scale-invariant motion estimation
code during mode selection, each of the reference
buffers is scaled to match the size of the frame
being encoded.

This fix ensures that a unit scaling factor is used in
this case rather than the one calculated assuming that
the reference frame is not scaled.

Change-Id: Id9a5c85dad402f3a7cc7ea9f30f204edad080ebf

9 years agoParall -> Parallel
Johann [Wed, 25 Mar 2015 19:45:27 +0000 (12:45 -0700)]
Parall -> Parallel

Change-Id: I565fef382fa17a00d5ae54e980ef14d9f0ad4f55

9 years agoMerge "fix static analysis warnings related to CHECK_MEM_ERROR"
James Zern [Wed, 25 Mar 2015 06:56:04 +0000 (23:56 -0700)]
Merge "fix static analysis warnings related to CHECK_MEM_ERROR"

9 years agomips msa configuration patch for MIPS SIMD Arch (MSA) P5600 and I6400
Parag Salasakar [Mon, 16 Mar 2015 07:06:59 +0000 (12:36 +0530)]
mips msa configuration patch for MIPS SIMD Arch (MSA) P5600 and I6400

For P5600:
CROSS=$MTI/bin/mips-mti-linux-gnu- CFLAGS='-EL' CXXFLAGS='-EL' LDFLAGS='-EL'\
 ../configure --target=mips32-linux-gcc --cpu=p5600 --enable-msa

For I6400:
CROSS=$IMG/bin/mips-img-linux-gnu- CFLAGS='-EL' CXXFLAGS='-EL' LDFLAGS='-EL'\
 ../configure --target=mips64-linux-gcc --cpu=i6400 --enable-msa

Change-Id: Id25f721ea1f1991d5116e04dba713aebd7378f05

9 years agoMerge "Enable group adaptive max q by default."
paulwilkins [Tue, 24 Mar 2015 22:00:12 +0000 (15:00 -0700)]
Merge "Enable group adaptive max q by default."

9 years agoVP9E_GET_ACTIVE_MAP API function.
Alex Converse [Fri, 20 Mar 2015 21:55:43 +0000 (14:55 -0700)]
VP9E_GET_ACTIVE_MAP API function.

This is useful when aq mode 3 (cyclic refresh) reactivates segments for refresh.

Change-Id: I3ad1d9410b899ede393d82bb8db14e2da4d84eca

9 years agoRefactor fast loop filter code to handle 444.
Alex Converse [Fri, 20 Mar 2015 21:51:59 +0000 (14:51 -0700)]
Refactor fast loop filter code to handle 444.

Change-Id: I921b1ebabdf617049f8fa26fbe462c3ff115c1ce

9 years agoMerge "vp9_pred_mv(): misc fixes and optimizations"
Yaowu Xu [Tue, 24 Mar 2015 17:36:51 +0000 (10:36 -0700)]
Merge "vp9_pred_mv(): misc fixes and optimizations"

9 years agoMerge "A tiny cyclic refresh / active map fix."
Alex Converse [Tue, 24 Mar 2015 16:43:24 +0000 (09:43 -0700)]
Merge "A tiny cyclic refresh / active map fix."

9 years agoMerge "Revised rd adjustment for variance."
paulwilkins [Tue, 24 Mar 2015 10:12:56 +0000 (03:12 -0700)]
Merge "Revised rd adjustment for variance."

9 years agoMerge "Experimental rd bias based on source vs recon variance."
paulwilkins [Tue, 24 Mar 2015 10:12:41 +0000 (03:12 -0700)]
Merge "Experimental rd bias based on source vs recon variance."

9 years agoA tiny cyclic refresh / active map fix.
Alex Converse [Tue, 24 Mar 2015 01:20:35 +0000 (18:20 -0700)]
A tiny cyclic refresh / active map fix.

Change-Id: I198727461455c8c198a0c892d02ed3cb1673aa50

9 years agoMerge "vp8cx.h: vpx/vpx_encoder.h -> ./vpx_encoder.h"
James Zern [Tue, 24 Mar 2015 00:19:52 +0000 (17:19 -0700)]
Merge "vp8cx.h: vpx/vpx_encoder.h -> ./vpx_encoder.h"

9 years agoMerge "Optimize the intra frame decode to skip some unnecessary copy."
hkuang [Mon, 23 Mar 2015 23:50:37 +0000 (16:50 -0700)]
Merge "Optimize the intra frame decode to skip some unnecessary copy."

9 years agoMerge "Safely free all the frame buffers after all the workers finish the work."
hkuang [Mon, 23 Mar 2015 23:50:15 +0000 (16:50 -0700)]
Merge "Safely free all the frame buffers after all the workers finish the work."

9 years agovp8cx.h: vpx/vpx_encoder.h -> ./vpx_encoder.h
James Zern [Mon, 23 Mar 2015 23:07:21 +0000 (16:07 -0700)]
vp8cx.h: vpx/vpx_encoder.h -> ./vpx_encoder.h

this matches the other includes and simplifies include paths in builds
from source

Change-Id: I344902c84f688ef93c9f3a53e7c06c30db49d8d3

9 years agoSimplify skip check.
Alex Converse [Mon, 23 Mar 2015 17:53:31 +0000 (10:53 -0700)]
Simplify skip check.

SEG_LVL_SKIP implies skip. This is enforced by skip = write_skip().

Change-Id: I61c79581c9c53deae36685c2bcf388cb4d8827d3

9 years agoOptimize the intra frame decode to skip some unnecessary copy.
hkuang [Tue, 17 Mar 2015 21:08:16 +0000 (14:08 -0700)]
Optimize the intra frame decode to skip some unnecessary copy.

This speeds up a normal YT style 1080P clip decode by ~1% on nexus 7.

Change-Id: Ied7fa0d8bc941b2adb4db9382f549ee4d5654f3a

9 years agoMerge "Don't apply active map on key frames."
Alex Converse [Mon, 23 Mar 2015 17:04:38 +0000 (10:04 -0700)]
Merge "Don't apply active map on key frames."

9 years agoMerge "Set loop filter level to zero on inactive segment."
Alex Converse [Mon, 23 Mar 2015 17:04:29 +0000 (10:04 -0700)]
Merge "Set loop filter level to zero on inactive segment."

9 years agoEnable group adaptive max q by default.
paulwilkins [Mon, 23 Mar 2015 15:57:09 +0000 (15:57 +0000)]
Enable group adaptive max q by default.

Set the GF group adaptive max Q compile flag to 1 by default.

This change has a quite big visual impact in some clips and also
contributes to tighter rate control.

For short test clips that have consistent content the impact is
quite small on metrics but for more varied long form clips there is
a drop in overal psnr but a sharp rise in average psnr caused by
greater expenditure on some easier sections and tighter rate clipping
in hard sections.

In chunck'ed encodes some of the effect will already be present due
to the independent rate control in each chunk but this change takes
the control down to a smaller scale.

yt hd +10.67%, - 3.77%, -1.56%
yt +9.654%, - 3.6%, - 1.82%
std hd +0.25%, -0.85%, -0.42%
derf +0.25%, - 1.1%. - 0.87%

Change-Id: Ibbc39b800d99d053939f4c6712d715124082843e

9 years agovp9_pred_mv(): misc fixes and optimizations
Yaowu Xu [Sat, 21 Mar 2015 00:13:13 +0000 (17:13 -0700)]
vp9_pred_mv(): misc fixes and optimizations

1. skip near if it is same as nearest
2. correct rounding for converting mv to fullpel position
3. update pred_mv_sad after new mv search.

Overall .1%~.25% compression gains on rtc set for speed 5, 6, 7, 8.

Change-Id: Ic300ca53f7da18073771f1bb993c58cde9deee89

9 years agoDon't apply active map on key frames.
Alex Converse [Fri, 20 Mar 2015 21:52:55 +0000 (14:52 -0700)]
Don't apply active map on key frames.

This allows applciations to be KF oblivious.

Change-Id: Ic02712eae6ad8d6b3eaec26548299d24ca0d5cc0

9 years agovp[89]_cx_iface.c: remove obsolete ABI checks
James Zern [Fri, 20 Mar 2015 21:50:14 +0000 (14:50 -0700)]
vp[89]_cx_iface.c: remove obsolete ABI checks

Change-Id: I49a7017e8adc18ff03d748cb328814a8a3e1bcf6

9 years agoSet loop filter level to zero on inactive segment.
Alex Converse [Fri, 20 Mar 2015 21:43:06 +0000 (14:43 -0700)]
Set loop filter level to zero on inactive segment.

Change-Id: I6022a79351882a72a219aee13563bf21bcd70383

9 years agoMerge "Restore first ref frame pointer to the correct value"
Adrian Grange [Fri, 20 Mar 2015 14:49:54 +0000 (07:49 -0700)]
Merge "Restore first ref frame pointer to the correct value"

9 years agoRevised rd adjustment for variance.
paulwilkins [Wed, 18 Mar 2015 14:41:18 +0000 (14:41 +0000)]
Revised rd adjustment for variance.

Revised adjustment for rd based on source complexity.
Two cases:

1) Bias against low variance intra predictors
when the actual source variance is higher.

2) When the source variance is very low to give a slight
bias against predictors that might introduce false texture
or features.

The impact on metrics of this change across the test sets is
small and mixed.

derf -0.073%, -0.049%, -0.291%
std hd -0.093%, -0.1%, -0.557%
yt  +0.186%, +0.04%, - 0.074%
ythd +0.625%, + 0.563%, +0.584%

Medium to strong psycho-visual improvements in some
problem clips.

This feature and intra weight on GF group length now
turned on by default.

Change-Id: Idefc8b633a7b7bc56c42dbe19f6b2f872d73851e

9 years agoExperimental rd bias based on source vs recon variance.
paulwilkins [Fri, 6 Mar 2015 17:21:36 +0000 (17:21 +0000)]
Experimental rd bias based on source vs recon variance.

This experiment biases the rd decision based on the impact
a mode decision has on the relative spatial complexity of the
reconstruction vs the source.

The aim is to better retain a semblance of texture even if it
is slightly misaligned / wrong, rather than use a simple rd
measure that tends to favor use of a flat predictor if a perfect
match can't be found.

This improves the appearance of texture and visual quality
on specific test clips but is hidden under a flag and currently
off by default pending visual quality testing on a wider Yt set.

Change-Id: Idf6e754a8949bf39ed9d314c6f2daaa20c888aad

9 years agoMerge "enable test/vp9_encoder_parms_get_to_decoder"
James Zern [Fri, 20 Mar 2015 06:36:55 +0000 (23:36 -0700)]
Merge "enable test/vp9_encoder_parms_get_to_decoder"

9 years agoMerge "put spatial svc behind an ABI check"
James Zern [Fri, 20 Mar 2015 06:36:40 +0000 (23:36 -0700)]
Merge "put spatial svc behind an ABI check"

9 years agoMerge changes I42fa121b,Id30076ce
James Zern [Fri, 20 Mar 2015 06:33:53 +0000 (23:33 -0700)]
Merge changes I42fa121b,Id30076ce

* changes:
  vpx/vpx_codec.h: bump ABI version
  vpx/vpx_encoder.h: bump ABI version

9 years agoRestore first ref frame pointer to the correct value
Adrian Grange [Thu, 19 Mar 2015 21:41:43 +0000 (14:41 -0700)]
Restore first ref frame pointer to the correct value

The joint_motion_search function alternates prediction
between two reference frames. In order to reuse existing
code, a pointer to the appropriate reference frame is
written into xd->plane[0].pre[0], that the motion
estimation code assumes points to the reference frame.

If this first reference frame was scaled then the
pointer was incorrectly being reset to point to the
unscaled reference frame rather than the scaled
version.

Change-Id: I76f73a8d8f4f15c1f3a5e7e08a35140cdb7886ab

9 years agoMerge "Move joint_motion_search & delete function prototype"
Adrian Grange [Thu, 19 Mar 2015 23:08:54 +0000 (16:08 -0700)]
Merge "Move joint_motion_search & delete function prototype"

9 years agoMerge "external_frame_buffer_test: quiet static analysis warnings"
James Zern [Thu, 19 Mar 2015 22:43:40 +0000 (15:43 -0700)]
Merge "external_frame_buffer_test: quiet static analysis warnings"

9 years agoMove joint_motion_search & delete function prototype
Adrian Grange [Thu, 19 Mar 2015 21:28:52 +0000 (14:28 -0700)]
Move joint_motion_search & delete function prototype

Change-Id: I7fb3a78ed0e0bc940d8b4a57c470302f8369782f

9 years agovp8: fix a bug in the internal PSNR calculation
Yunqing Wang [Thu, 19 Mar 2015 19:28:24 +0000 (12:28 -0700)]
vp8: fix a bug in the internal PSNR calculation

While CONFIG_INTERNAL_STATS=1, PSNR is calculated while encoding.
The aligned width/height were used mistakenly in the calculation.
This patch fixed it, and used the orignal image width/height.

Change-Id: Iad5334f8693af761b71ebb78f2587db8a3404ecf

9 years agoenable test/vp9_encoder_parms_get_to_decoder
James Zern [Thu, 19 Mar 2015 19:23:49 +0000 (12:23 -0700)]
enable test/vp9_encoder_parms_get_to_decoder

the TODO around CONFIG_SPATIAL_SVC has been resolved by changing the
CONFIG_* checks to use an ABI based check

Change-Id: If2638baf361b863186177a453beec9af9231e69e

9 years agoput spatial svc behind an ABI check
James Zern [Thu, 19 Mar 2015 19:20:14 +0000 (12:20 -0700)]
put spatial svc behind an ABI check

this removes the CONFIG_* checks from public headers, but means
'--enable-experimental --enable-spatial-svc' builds will fail without a
local change to the ABI in vpx_encoder.h. this should be all right for
testing this experiment.

Change-Id: Ief55e7b9d1e8332cfce990275e04c29b30af0c4a

9 years agoSafely free all the frame buffers after all the workers finish the work.
hkuang [Mon, 16 Mar 2015 23:17:51 +0000 (16:17 -0700)]
Safely free all the frame buffers after all the workers finish the work.

Issue: 978

Change-Id: Ia7aa809095008f6819a44d7ecb0329def79b1117

9 years agoMerge "Speed up non-rd mode decision search"
Jingning Han [Thu, 19 Mar 2015 16:18:10 +0000 (09:18 -0700)]
Merge "Speed up non-rd mode decision search"

9 years agoMerge "Fix an ioc warning in vp9_pick_inter_mode"
Jingning Han [Thu, 19 Mar 2015 16:17:25 +0000 (09:17 -0700)]
Merge "Fix an ioc warning in vp9_pick_inter_mode"

9 years agoMerge "Adjustments to aq-mode=3."
Marco [Thu, 19 Mar 2015 16:01:17 +0000 (09:01 -0700)]
Merge "Adjustments to aq-mode=3."

9 years agovpx/vpx_codec.h: bump ABI version
James Zern [Thu, 19 Mar 2015 03:08:30 +0000 (20:08 -0700)]
vpx/vpx_codec.h: bump ABI version

missed in updates for high bitdepth, xma removal, others

Change-Id: I42fa121b3bb080e8275f555b923cd9cb418db8a1

9 years agovpx/vpx_encoder.h: bump ABI version
James Zern [Thu, 19 Mar 2015 03:03:57 +0000 (20:03 -0700)]
vpx/vpx_encoder.h: bump ABI version

missed in updates for high bitdepth, others

Change-Id: Id30076ce09beb361b5e1ff0ac99e3ae1ad4f987e

9 years agoMerge "vp9_resize_plane: quiet some static analysis warnings"
James Zern [Thu, 19 Mar 2015 02:39:48 +0000 (19:39 -0700)]
Merge "vp9_resize_plane: quiet some static analysis warnings"

9 years agoMerge changes Ie5a24275,Ib72946a8,I532b882b
James Zern [Thu, 19 Mar 2015 02:38:49 +0000 (19:38 -0700)]
Merge changes Ie5a24275,Ib72946a8,I532b882b

* changes:
  vp9_fdct8x8_quant_ssse3: quiet a static analysis warning
  vp9_fdct8x8_quant_sse2: quiet a static analysis warning
  vp9_mv_pred: quiet a static analysis warning

9 years agoMerge "Fix external resize memory issues."
Alex Converse [Wed, 18 Mar 2015 23:04:30 +0000 (16:04 -0700)]
Merge "Fix external resize memory issues."

9 years agoexternal_frame_buffer_test: quiet static analysis warnings
James Zern [Wed, 18 Mar 2015 21:37:20 +0000 (14:37 -0700)]
external_frame_buffer_test: quiet static analysis warnings

add explicit returns in cases where ASSERT_* can't be used due to the
function returning a value; retain the EXPECT_* for reporting purposes.

Change-Id: I1f514728537fee42a99277d3aba538e832d3b65b

9 years agofix static analysis warnings related to CHECK_MEM_ERROR
James Zern [Wed, 18 Mar 2015 21:35:49 +0000 (14:35 -0700)]
fix static analysis warnings related to CHECK_MEM_ERROR

mark vpx_internal_error as noreturn under the analyzer

Change-Id: If214a0e740aab9b82cc04f4492eb77a7a07ef7ab

9 years agovp9_resize_plane: quiet some static analysis warnings
James Zern [Wed, 18 Mar 2015 21:34:30 +0000 (14:34 -0700)]
vp9_resize_plane: quiet some static analysis warnings

document resolution assumptions with a few asserts

Change-Id: Ia4ab738fd3e0a1ba0ed30a57facd2658c2c1fd60

9 years agovp9_fdct8x8_quant_ssse3: quiet a static analysis warning
James Zern [Wed, 18 Mar 2015 21:33:43 +0000 (14:33 -0700)]
vp9_fdct8x8_quant_ssse3: quiet a static analysis warning

add an assert to validate 'in' array size

Change-Id: Ie5a24275c066d9dd59714f6104510abbd4850dc5

9 years agovp9_fdct8x8_quant_sse2: quiet a static analysis warning
James Zern [Wed, 18 Mar 2015 21:33:04 +0000 (14:33 -0700)]
vp9_fdct8x8_quant_sse2: quiet a static analysis warning

add an assert to validate 'in' array size

Change-Id: Ib72946a86f34e1ce8a69954e8e3e4fe1a0f18a91

9 years agovp9_mv_pred: quiet a static analysis warning
James Zern [Wed, 18 Mar 2015 21:31:58 +0000 (14:31 -0700)]
vp9_mv_pred: quiet a static analysis warning

add an assert to validate pred_mv array size

Change-Id: I532b882b71e2baff3ac76e07ed133ec5a11bd0fc

9 years agoMerge changes Icc7da602,Id166bd8a
Johann [Wed, 18 Mar 2015 21:02:19 +0000 (14:02 -0700)]
Merge changes Icc7da602,Id166bd8a

* changes:
  Remove last remnants of obj_int_extract
  Initialize "corrupted" to zero

9 years agoAdjustments to aq-mode=3.
Marco [Tue, 10 Mar 2015 22:16:10 +0000 (15:16 -0700)]
Adjustments to aq-mode=3.

Factor in segment#2 and skip blocks into the postencode estimated bits,
and increase somewhat the aggressiveness of the refresh.

PSNR/SSIM Metrics on RTC set go up by ~0.8/0.5%.

Change-Id: I5d4e7cb00a3aefb25d18c88b6b24118b72dc5d51

9 years agoSpeed up non-rd mode decision search
Jingning Han [Wed, 18 Mar 2015 01:40:40 +0000 (18:40 -0700)]
Speed up non-rd mode decision search

This commit makes the encoder to explicitly calculate the SAD
associated with the LAST_FRAME motion vector and compare it to
that of the GOLDEN_FRAME given by integral projection motion
estimation. It skips the expensive sub-pixel motion search over
GOLDEN_FRAME when the LAST_FRAME can provide fairly good motion
compensated prediction quality.

For dark720p speed -6 single thread goes from
33304 b/f, 40.070 dB, 18156 ms ->
33319 b/f, 40.061 dB, 17611 ms

Change-Id: I01bc94b9b598075567a392111046b97a9bc30efe

9 years agoOrder header files alphabetically
Adrian Grange [Wed, 18 Mar 2015 18:18:08 +0000 (11:18 -0700)]
Order header files alphabetically

Change-Id: I3e275544bff478849c1b5f3dcd5de950ee330d14

9 years agoRemove last remnants of obj_int_extract
Johann [Mon, 1 Dec 2014 19:59:11 +0000 (11:59 -0800)]
Remove last remnants of obj_int_extract

Change-Id: Icc7da6027763b5ed7cbfe70ffe271103ead59fe1

9 years agoInitialize "corrupted" to zero
Johann [Wed, 18 Mar 2015 18:01:28 +0000 (11:01 -0700)]
Initialize "corrupted" to zero

Because the call to vpx_codec_control at line 928 is now guarded by
!frame_parallel, 'corrupted' may not be set.

Change-Id: Id166bd8a8cdb5e5120fca1640011a3545f6e178a

9 years agoMerge "Add protection for codec interface name change."
Frank Galligan [Wed, 18 Mar 2015 16:51:07 +0000 (09:51 -0700)]
Merge "Add protection for codec interface name change."

9 years agoMerge "Fix the C version of column vector projection"
Jingning Han [Wed, 18 Mar 2015 05:53:49 +0000 (22:53 -0700)]
Merge "Fix the C version of column vector projection"

9 years agoFix the C version of column vector projection
Jingning Han [Wed, 18 Mar 2015 01:50:53 +0000 (18:50 -0700)]
Fix the C version of column vector projection

Make the C and SSE2 versions consistent.

Change-Id: I03c405d22a36bd1a97480efb96dc5af230667424

9 years agoUpdate to variance partition.
Marco [Mon, 16 Mar 2015 02:19:29 +0000 (19:19 -0700)]
Update to variance partition.

Use force_split to constrain the partition selection.
This is used because in the top-down approach to variance partition,
a block size may be selected even though one of its subblocks may have
high variance.

In this patch the selection of the 64x64 block size will only
be allowed if the variance of all the 32x32 subblocks are also below the threshold.

Stil testing, but some visual improvement for areas near slow moving boundary
can be seen. Metrics for RTC set increase by about ~0.5%.

Change-Id: Iab3e7b19bf70f534236f7a43fd873895a2bb261d

9 years agoMerge "Refactor set vbp thresholds function"
Yunqing Wang [Tue, 17 Mar 2015 23:05:53 +0000 (16:05 -0700)]
Merge "Refactor set vbp thresholds function"

9 years agoMerge "Remove unused ZBIN_BOOST macros"
Adrian Grange [Tue, 17 Mar 2015 22:13:12 +0000 (15:13 -0700)]
Merge "Remove unused ZBIN_BOOST macros"

9 years agoAdd protection for codec interface name change.
Frank Galligan [Mon, 16 Mar 2015 19:59:07 +0000 (12:59 -0700)]
Add protection for codec interface name change.

Change-Id: I9101cb1132aa580fc32fd47e8ac9d91d5b09e963

9 years agoRefactor set vbp thresholds function
Yunqing Wang [Tue, 17 Mar 2015 19:19:15 +0000 (12:19 -0700)]
Refactor set vbp thresholds function

Code refactoring.

Change-Id: I73b6fcc0444155ee46c1efa5253c1d608c6439cb

9 years agoRemove unused ZBIN_BOOST macros
Adrian Grange [Tue, 17 Mar 2015 18:53:58 +0000 (11:53 -0700)]
Remove unused ZBIN_BOOST macros

Change-Id: I5169155b20ea3676a6ce58ec77d6aeba07db29d9

9 years agoFix an ioc warning in vp9_pick_inter_mode
Jingning Han [Tue, 17 Mar 2015 17:12:00 +0000 (10:12 -0700)]
Fix an ioc warning in vp9_pick_inter_mode

Shut off all the metric checks for golden reference frame, if we
decide that it is unlikely to be selected for reference.

Change-Id: Ie457cc1fd43935584403b4982659aed80fb9909c