webm/libvpx.git
2 days agovpx_mem: remove global function pointer 19/74419/2 master
James Zern [Thu, 16 Apr 2015 22:44:18 +0000 (15:44 -0700)]
vpx_mem: remove global function pointer

vestigial.

Change-Id: I11389f660d0c5db8fa48bd355cbc3223fc3bcabb

2 days agovpx_mem: remove mem tracker 18/74418/2
James Zern [Thu, 16 Apr 2015 22:37:33 +0000 (15:37 -0700)]
vpx_mem: remove mem tracker

vestigial. there are tools better suited for this

Change-Id: I7a72a2cfe32377f07c8cd0973ddb18842720a225

2 days agoMerge "vpx_mem: remove 'mem checks'"
Johann [Wed, 22 Apr 2015 20:09:47 +0000 (13:09 -0700)]
Merge "vpx_mem: remove 'mem checks'"

2 days agoMerge "vpx_mem: remove memory manager code"
Johann [Wed, 22 Apr 2015 20:09:39 +0000 (13:09 -0700)]
Merge "vpx_mem: remove memory manager code"

3 days agoAdds worst frame metrics for a bunch of metrics. 39/74339/4
Jim Bankoski [Wed, 22 Apr 2015 13:45:56 +0000 (06:45 -0700)]
Adds worst frame metrics for a bunch of metrics.

Change-Id: Ieaccc36ed1bee024bb644a9cfaafdaaa65d31772

3 days agoMerge "Modified test for auto key frame detection."
paulwilkins [Wed, 22 Apr 2015 09:29:17 +0000 (02:29 -0700)]
Merge "Modified test for auto key frame detection."

3 days agoMerge "Limit arf interval for low fpf clips."
paulwilkins [Wed, 22 Apr 2015 09:25:38 +0000 (02:25 -0700)]
Merge "Limit arf interval for low fpf clips."

3 days agoMerge "mips msa vp9 convolve8 horiz optimization"
Parag Salasakar [Wed, 22 Apr 2015 05:08:25 +0000 (22:08 -0700)]
Merge "mips msa vp9 convolve8 horiz optimization"

3 days agoMerge "Adds a new temporal consistency metric to libvpx."
Jim Bankoski [Tue, 21 Apr 2015 23:11:11 +0000 (16:11 -0700)]
Merge "Adds a new temporal consistency metric to libvpx."

3 days agoMerge "Rename neon convolve avg file"
Johann [Tue, 21 Apr 2015 22:45:29 +0000 (15:45 -0700)]
Merge "Rename neon convolve avg file"

3 days agoRename neon convolve avg file 30/74430/1
Johann [Tue, 21 Apr 2015 21:18:17 +0000 (14:18 -0700)]
Rename neon convolve avg file

Some build systems use just the basename for object files.

Change-Id: I333e1107ee866f3906cc46476ef8d04c6200a8a0

3 days agoRevert "Remove mi_grid_* structures." 40/74340/4
Scott LaVarnway [Tue, 21 Apr 2015 12:36:58 +0000 (05:36 -0700)]
Revert "Remove mi_grid_* structures."

(see I3a05cf1610679fed26e0b2eadd315a9ae91afdd6)

For the test clip used, the decoder performance improved by ~2%.
This is also an intermediate step towards adding back the
mode_info streams.

Change-Id: Idddc4a3f46e4180fbebddc156c4bbf177d5c2e0d

4 days agoAdds a new temporal consistency metric to libvpx. 17/72117/12
Jim Bankoski [Tue, 21 Apr 2015 17:05:37 +0000 (10:05 -0700)]
Adds a new temporal consistency metric to libvpx.

Change-Id: Id61699ebf57ae4f8af96a468740c852b2f45f8e1

4 days agoMerge "Resolve configuration conflict"
Yaowu Xu [Tue, 21 Apr 2015 15:00:49 +0000 (08:00 -0700)]
Merge "Resolve configuration conflict"

4 days agoModified test for auto key frame detection. 26/74426/1
paulwilkins [Thu, 16 Apr 2015 10:15:36 +0000 (11:15 +0100)]
Modified test for auto key frame detection.

The existing test was triggering a lot of false positives on some types
of animated material with very plain backgrounds. These were triggering
code designed to catch key frames in letter box format clips.

This patch tightens up the criteria and imposes a minimum requirement
on the % blocks coded intra in the first pass and the ratio between the
% coded intra and the modified inter % after discounting neutral (flat)
blocks that are coded equally well either way.

On a particular problem animation clip this change eliminated a large
number of false positives including some cases where the old code
selected kf several times in a row. Marginal false negatives are less
damaging typically to compression and in the problem clip there are now
a couple of cases where "visual" scene cuts are ignored because of well
correlated content across the scene cut.

Replaced some magic numbers related to this with #defines and added
explanatory comments.

Change-Id: Ia3d304ac60eb7e4323e3817eaf83b4752cd63ecf

4 days agomips msa vp9 convolve8 horiz optimization 22/74422/2
Parag Salasakar [Tue, 21 Apr 2015 06:57:32 +0000 (12:27 +0530)]
mips msa vp9 convolve8 horiz optimization

average improvement ~6x-8x

Change-Id: I7c91eec41aada3b0a5231dda7869b3b968f3ad18

4 days agoMerge "mips msa vp9 convolve8 hv optimization"
Parag Salasakar [Tue, 21 Apr 2015 06:39:24 +0000 (23:39 -0700)]
Merge "mips msa vp9 convolve8 hv optimization"

4 days agovpx_mem: remove 'mem checks' 17/74417/1
James Zern [Thu, 16 Apr 2015 19:29:01 +0000 (12:29 -0700)]
vpx_mem: remove 'mem checks'

vestigial. there are tools better suited for this

Change-Id: I1d6f604452fbc62cb7523eec8d1f8a72a276d6b5

4 days agovpx_mem: remove memory manager code 16/74416/1
James Zern [Thu, 16 Apr 2015 19:23:10 +0000 (12:23 -0700)]
vpx_mem: remove memory manager code

vestigial. the code is stale and couldn't be configured directly; there
are better ways to achieve this now

Change-Id: I5a9c62e099215588cd0d7e5ae002dfc77c21a895

4 days agomips msa vp9 convolve8 hv optimization 05/74405/2
Parag Salasakar [Mon, 20 Apr 2015 05:26:51 +0000 (10:56 +0530)]
mips msa vp9 convolve8 hv optimization

average improvement ~5x-8x

Change-Id: I3214734cb3716e742907ce0d2d7a042d953df82b

4 days agoResolve configuration conflict 14/74414/1
Yaowu Xu [Mon, 20 Apr 2015 23:44:12 +0000 (16:44 -0700)]
Resolve configuration conflict

Between --enable-internal-stats and --enable-vp9-highbitdepth

Change-Id: I36b741554e835033e69883270b6b0e5374a1aafa

5 days agoMove declaration before statement 06/74406/1
Yaowu Xu [Mon, 20 Apr 2015 16:50:59 +0000 (09:50 -0700)]
Move declaration before statement

Change-Id: Ib64786fcc0d6dc11c4e66f5b7f3e93b2a4fcb664

6 days agoMerge "mips msa vp9 convolve8 vert optimization"
Parag Salasakar [Sun, 19 Apr 2015 06:39:25 +0000 (23:39 -0700)]
Merge "mips msa vp9 convolve8 vert optimization"

7 days agomips msa vp9 convolve8 vert optimization 78/74378/4
Parag Salasakar [Thu, 16 Apr 2015 05:33:24 +0000 (11:03 +0530)]
mips msa vp9 convolve8 vert optimization

average improvement ~6x-10x

Change-Id: Ie3f3ab3a9005be84935919701e56b404e420affa

7 days agoMerge "Adds a blockiness metric to internal stats."
Jim Bankoski [Fri, 17 Apr 2015 23:06:26 +0000 (16:06 -0700)]
Merge "Adds a blockiness metric to internal stats."

7 days agoMerge "adds psnrhvs to internal stats."
Jim Bankoski [Fri, 17 Apr 2015 23:06:10 +0000 (16:06 -0700)]
Merge "adds psnrhvs to internal stats."

7 days agoMerge "Adds a fastssim metric to VPX internal stats."
Jim Bankoski [Fri, 17 Apr 2015 23:05:53 +0000 (16:05 -0700)]
Merge "Adds a fastssim metric to VPX internal stats."

8 days agoAdds a blockiness metric to internal stats. 13/71913/19
Jim Bankoski [Fri, 17 Apr 2015 18:13:18 +0000 (11:13 -0700)]
Adds a blockiness metric to internal stats.

Change-Id: Iedceeb020492050063acf3fd2326f96c29db9ae5

8 days agoFix dependency of android vpx test application. 93/74393/1
Frank Galligan [Fri, 17 Apr 2015 17:59:11 +0000 (10:59 -0700)]
Fix dependency of android vpx test application.

Change-Id: I32b7c92c89c9a2be0cf38e67a17266b9d3866154

8 days agoadds psnrhvs to internal stats. 13/74313/4
Jim Bankoski [Fri, 17 Apr 2015 17:27:56 +0000 (10:27 -0700)]
adds psnrhvs to internal stats.

PSNR HVS is a human visual system weighted version of SNR that's
gained some popularity from academia and apparently better matches
MOS testing.

This code is borrowed from the Daala Project but uses our FDCT code.

Change-Id: Idd10fbc93129f7f4734946f6009f87d0f44cd2d7

8 days agoAdds a fastssim metric to VPX internal stats. 96/74296/6
Jim Bankoski [Fri, 17 Apr 2015 17:23:24 +0000 (10:23 -0700)]
Adds a fastssim metric to VPX internal stats.

This code appeared in the Daala project first and was originally
committed by Nathan Egge.

Change-Id: Iadce416a091929c51b46637ebdec984cddcaf18c

8 days agoMerge "Remove unnecessary backup token stream pointer"
Jingning Han [Fri, 17 Apr 2015 16:13:53 +0000 (09:13 -0700)]
Merge "Remove unnecessary backup token stream pointer"

8 days agoRevert "Revert "Force_split on 16x16 blocks in variance partition."" 71/74371/5
Marco Paniconi [Thu, 16 Apr 2015 00:48:20 +0000 (17:48 -0700)]
Revert "Revert "Force_split on 16x16 blocks in variance partition.""

This reverts commit 004b9d83e37d355f590a6976a27b7b845d19a869

Change-Id: I2f2d0bdb9368c2c07f1d29a69cd461267a3a8743

8 days agoRemove unnecessary backup token stream pointer 88/74388/1
Jingning Han [Thu, 16 Apr 2015 23:40:34 +0000 (16:40 -0700)]
Remove unnecessary backup token stream pointer

When the tokenization is not taking effect, the tokenization
pointer remains unchanged. No need to re-assign the backup pointer
value.

Change-Id: I58fe1f6285aa3b4a88ceb864c11d5de8ac6235dd

8 days agoMerge "Fix multithread encode test"
Frank Galligan [Thu, 16 Apr 2015 23:00:54 +0000 (16:00 -0700)]
Merge "Fix multithread encode test"

8 days agoFix multithread encode test 52/74352/4
Frank Galligan [Tue, 14 Apr 2015 22:01:56 +0000 (15:01 -0700)]
Fix multithread encode test

The multithread encode test was never actually setting more than
one thread.

Change-Id: Ie7a3b7b138e88344c943bffd544cf2b4aab866a9

8 days agoMerge "[svc] Fix syntax error when encoding multiple tiles."
Minghai Shang [Thu, 16 Apr 2015 20:43:44 +0000 (13:43 -0700)]
Merge "[svc] Fix syntax error when encoding multiple tiles."

8 days agoMerge "Use extern for *_rtcd() in test/test_libvpx.cc"
Johann [Thu, 16 Apr 2015 20:42:34 +0000 (13:42 -0700)]
Merge "Use extern for *_rtcd() in test/test_libvpx.cc"

8 days ago[svc] Fix syntax error when encoding multiple tiles. 64/74364/2
Minghai Shang [Wed, 15 Apr 2015 21:59:17 +0000 (14:59 -0700)]
[svc] Fix syntax error when encoding multiple tiles.

Change-Id: Ia77b551415f3b3386e22a6c805f244f2d13fe3e3

8 days agoUse extern for *_rtcd() in test/test_libvpx.cc 83/74383/2
Johann [Thu, 16 Apr 2015 18:51:22 +0000 (14:51 -0400)]
Use extern for *_rtcd() in test/test_libvpx.cc

This partially reverts commit 14ef4aeafb

Including the rtcd headers to get the function definitions causes
problems on VS9.

Change-Id: I780874d9e03af2d3124192ab0e3907301f22674c

8 days agoMerge "Android.mk: remove unnecessary -llog reference"
James Zern [Thu, 16 Apr 2015 19:00:11 +0000 (12:00 -0700)]
Merge "Android.mk: remove unnecessary -llog reference"

9 days agoLimit arf interval for low fpf clips. 24/74424/1
paulwilkins [Thu, 16 Apr 2015 10:24:38 +0000 (11:24 +0100)]
Limit arf interval for low fpf clips.

This patch limits  the maximum arf interval length to
approximately half a second. In some low fps animations in
particular the existing code was selecting an overly long interval
which was hurting visual quality. For a sample problem test clip
(360P animation , 15fps, ~200Kbit/s) this change also improved
metrics by >0.5 db.

There may be some clips where this hurts metrics a little, but the
worst case impact visually is likely to be less than having an
interval that is much too long. On more normal material at 24
fps or higher, the impact is likely to be nil/minimal.

Change-Id: Id8b57413931a670c861213ea91d7cc596375a297

9 days agoMerge "mips msa configuration fix"
Parag Salasakar [Thu, 16 Apr 2015 04:17:13 +0000 (21:17 -0700)]
Merge "mips msa configuration fix"

9 days agoAndroid.mk: remove unnecessary -llog reference 76/74376/1
James Zern [Thu, 16 Apr 2015 03:54:04 +0000 (20:54 -0700)]
Android.mk: remove unnecessary -llog reference

nothing is using android/log.h currently; also quiets a warning when
building a static lib:
Android NDK: WARNING:libvpx/build/make/Android.mk:vpx: LOCAL_LDLIBS is
always ignored for static libraries

Change-Id: I1469a5d6fca4f7338a4a82e26a03e60fc91d92ca

9 days agoMerge "Android.mk: add a flag to control shared/static lib"
James Zern [Thu, 16 Apr 2015 03:33:03 +0000 (20:33 -0700)]
Merge "Android.mk: add a flag to control shared/static lib"

9 days agoMerge "Fix Tsan errors"
Yunqing Wang [Wed, 15 Apr 2015 22:34:03 +0000 (15:34 -0700)]
Merge "Fix Tsan errors"

9 days agoFix Tsan errors 63/74363/2
Yunqing Wang [Wed, 15 Apr 2015 17:49:07 +0000 (10:49 -0700)]
Fix Tsan errors

This patch fixed 2 reported Tsan errors while running VP9 real-time
encoder.

Change-Id: Ib0278fe802852862c3ce87c4a500e544d7089f67

9 days agoMerge "Reorganize *_rtcd() calling conventions"
Johann [Wed, 15 Apr 2015 19:27:59 +0000 (12:27 -0700)]
Merge "Reorganize *_rtcd() calling conventions"

9 days agoMerge "Allow specifying a different prefix in x86inc.asm"
Johann [Wed, 15 Apr 2015 19:12:58 +0000 (12:12 -0700)]
Merge "Allow specifying a different prefix in x86inc.asm"

10 days agoReorganize *_rtcd() calling conventions 61/74361/2
Johann [Wed, 15 Apr 2015 13:27:00 +0000 (09:27 -0400)]
Reorganize *_rtcd() calling conventions

Change-Id: Ib1e17d8aae9b713b87f560ab5e49952ee2bfdcc2

10 days agoAllow specifying a different prefix in x86inc.asm 47/74347/2
Johann [Tue, 14 Apr 2015 19:25:14 +0000 (15:25 -0400)]
Allow specifying a different prefix in x86inc.asm

Currently the prefix is forced to vp9 for any function using
x86inc.asm.

Change-Id: Icbca57ce68a52e743bdd7e9be86cfe8353f274c1

10 days agoMerge "Remove unused scaleopt.cpp"
Johann [Wed, 15 Apr 2015 13:36:45 +0000 (06:36 -0700)]
Merge "Remove unused scaleopt.cpp"

10 days agomips msa configuration fix 36/74336/3
Parag Salasakar [Mon, 13 Apr 2015 08:43:07 +0000 (14:13 +0530)]
mips msa configuration fix

for big endian disable msa
removed -flax-vector-conversion flag
disable runtime_cpu_detect feature if enabled

Change-Id: Icd5130b733f2ddcdb94ffb6e4d170e6ca0f9832b

10 days agoRevert "Force_split on 16x16 blocks in variance partition." 50/74350/1
Yunqing Wang [Tue, 14 Apr 2015 22:12:40 +0000 (15:12 -0700)]
Revert "Force_split on 16x16 blocks in variance partition."

This reverts commit eb8c667570aa83134c7db0690de9dbdde4d90291.
The patch caused mismatch while using multi-threads.

Change-Id: Icd646340af25b5d91e32f03ed3ea212e00e3e0be

10 days agoRemove unused scaleopt.cpp 49/74349/1
Johann [Tue, 14 Apr 2015 20:59:30 +0000 (16:59 -0400)]
Remove unused scaleopt.cpp

Change-Id: Ibaeede61c128c73809332b9a853cd62b8d6d5325

11 days agoMerge "Force_split on 16x16 blocks in variance partition."
Marco [Tue, 14 Apr 2015 16:44:58 +0000 (09:44 -0700)]
Merge "Force_split on 16x16 blocks in variance partition."

11 days agoMerge "Remove unnecessary set postproc flags."
hkuang [Mon, 13 Apr 2015 21:33:43 +0000 (14:33 -0700)]
Merge "Remove unnecessary set postproc flags."

11 days agoForce_split on 16x16 blocks in variance partition. 11/74111/32
Marco [Wed, 18 Mar 2015 20:55:19 +0000 (13:55 -0700)]
Force_split on 16x16 blocks in variance partition.

Force split on 16x16 block (to 8x8) based on the minmax over the 8x8 sub-blocks.

Also increase variance threshold for 32x32, and add exit condiiton in choose_partition
(with very safe threshold) based on sad used to select reference frame.

Some visual improvement near moving boundaries.
Average gain in psnr/ssim: ~0.6%, some clips go up ~1 or 2%.
Encoding time increase (due to more 8x8 blocks) from ~1-4%, depending on clip.

Change-Id: I4759bb181251ac41517cd45e326ce2997dadb577

2 weeks agoMerge "mips msa vp9 common headers added"
Parag Salasakar [Fri, 10 Apr 2015 04:50:15 +0000 (21:50 -0700)]
Merge "mips msa vp9 common headers added"

2 weeks agoMerge "Remove get_nonrd_var_based_fixed_partition function"
Jingning Han [Thu, 9 Apr 2015 21:45:19 +0000 (14:45 -0700)]
Merge "Remove get_nonrd_var_based_fixed_partition function"

2 weeks agoMerge "Compute prediction filter type cost only when needed"
Jingning Han [Thu, 9 Apr 2015 21:45:11 +0000 (14:45 -0700)]
Merge "Compute prediction filter type cost only when needed"

2 weeks agoMerge "SSSE3 assembly implementation of 8x8 Hadamard transform"
Jingning Han [Thu, 9 Apr 2015 18:16:11 +0000 (11:16 -0700)]
Merge "SSSE3 assembly implementation of 8x8 Hadamard transform"

2 weeks agoMerge "Remove unnecessary mv clamp with on demand border extension."
hkuang [Thu, 9 Apr 2015 17:08:06 +0000 (10:08 -0700)]
Merge "Remove unnecessary mv clamp with on demand border extension."

2 weeks agoRemove get_nonrd_var_based_fixed_partition function 21/74321/1
Jingning Han [Thu, 9 Apr 2015 16:49:09 +0000 (09:49 -0700)]
Remove get_nonrd_var_based_fixed_partition function

This function has been replaced by other approaches and is not
in use now.

Change-Id: I387f45b5607d202539e482468ccc70e6c0f9341f

2 weeks agomips msa vp9 common headers added 93/74193/5
Parag Salasakar [Wed, 25 Mar 2015 09:34:48 +0000 (15:04 +0530)]
mips msa vp9 common headers added

Change-Id: Ia31ada59172eb1818e1eb91009f83cbb1f581223

2 weeks agoAndroid.mk: add a flag to control shared/static lib 20/74320/1
James Zern [Thu, 9 Apr 2015 04:03:36 +0000 (21:03 -0700)]
Android.mk: add a flag to control shared/static lib

ndk-build ENABLE_SHARED=1 ...

Change-Id: Idd64804b165d0d4bbfb0b242d6c4eee5e828dab4

2 weeks agoMerge "vpxdec.sh: fix vp9_webm_less_than_50_frames w/valgrind"
James Zern [Thu, 9 Apr 2015 04:01:34 +0000 (21:01 -0700)]
Merge "vpxdec.sh: fix vp9_webm_less_than_50_frames w/valgrind"

2 weeks agoRemove unnecessary mv clamp with on demand border extension. 93/74293/3
hkuang [Mon, 6 Apr 2015 17:17:14 +0000 (10:17 -0700)]
Remove unnecessary mv clamp with on demand border extension.

Change-Id: Ia2956f06f409b9b0ca8320ca4c1ea5680e938402

2 weeks agoRefactor dec_build_inter_predictors 65/74165/2
Frank Galligan [Sun, 22 Mar 2015 20:41:13 +0000 (13:41 -0700)]
Refactor dec_build_inter_predictors

Refactor the loops in dec_build_inter_predictors to try and decrease
the number of instructions. Limited testing saw about 1% perf
increase on x86 and about 0.67 % perf increase on Arm.

Change-Id: I69cfe6335bb562fbaaebf43fb3f5c5a2a28882a2

2 weeks agovpxdec.sh: fix vp9_webm_less_than_50_frames w/valgrind 08/74308/1
James Zern [Wed, 8 Apr 2015 18:45:04 +0000 (11:45 -0700)]
vpxdec.sh: fix vp9_webm_less_than_50_frames w/valgrind

add a check for the status line to awk and better report failure given
the program output will be lost in this case

Change-Id: I1348a80108c81099d609f2e2227dd2c31bd8cd54

2 weeks agoMerge "Improve accuracy of rate control in CQ mode"
Debargha Mukherjee [Wed, 8 Apr 2015 17:48:17 +0000 (10:48 -0700)]
Merge "Improve accuracy of rate control in CQ mode"

2 weeks agoMerge "vp9_full_search_sadx[38]: align sad arrays"
James Zern [Wed, 8 Apr 2015 03:57:21 +0000 (20:57 -0700)]
Merge "vp9_full_search_sadx[38]: align sad arrays"

2 weeks agoMerge "Optimize the checking for transform skipping"
Yaowu Xu [Tue, 7 Apr 2015 23:29:51 +0000 (16:29 -0700)]
Merge "Optimize the checking for transform skipping"

2 weeks agoMerge "move ref_frame_cost computations into a function"
Yaowu Xu [Tue, 7 Apr 2015 23:29:45 +0000 (16:29 -0700)]
Merge "move ref_frame_cost computations into a function"

2 weeks agoImprove accuracy of rate control in CQ mode 04/74304/2
Debargha Mukherjee [Tue, 7 Apr 2015 23:15:11 +0000 (16:15 -0700)]
Improve accuracy of rate control in CQ mode

Modifies a special handling that improves rate control accuracy in
the constrained quality mode, when the undershoot and overshoot
limits are set tighter.

Change-Id: If62103f0ef3ed1cac92807400678c93da50cf046

2 weeks agoMerge "Test loopfilters with count=2"
Yaowu Xu [Tue, 7 Apr 2015 23:08:25 +0000 (16:08 -0700)]
Merge "Test loopfilters with count=2"

2 weeks agovp9_full_search_sadx[38]: align sad arrays 01/74301/1
James Zern [Tue, 7 Apr 2015 21:30:17 +0000 (14:30 -0700)]
vp9_full_search_sadx[38]: align sad arrays

the sse4 code expects 16-byte aligned arrays; vp8 already had a similar
change applied:
b2aa401 Align SAD output array to be 16-byte aligned

Change-Id: I5e902035e5a87e23309e151113f3c0d4a8372226

2 weeks agoMerge "Enable Hadamard transform based cost estimate for all block sizes"
Jingning Han [Tue, 7 Apr 2015 19:51:27 +0000 (12:51 -0700)]
Merge "Enable Hadamard transform based cost estimate for all block sizes"

2 weeks agoMerge "Account for eob cost in the RTC mode decision process"
Jingning Han [Tue, 7 Apr 2015 19:50:30 +0000 (12:50 -0700)]
Merge "Account for eob cost in the RTC mode decision process"

2 weeks agoCompute prediction filter type cost only when needed 00/74300/1
Jingning Han [Tue, 7 Apr 2015 19:39:54 +0000 (12:39 -0700)]
Compute prediction filter type cost only when needed

Skip redundant prediction filter type cost in filter search loop,
if the rate value will be reset in Hadamard transform based rate
distortion estimate.

Change-Id: Ie5221f4bc8da9461c449df367251aeeac52c6e5d

2 weeks agoMerge "webmdec: Fix for reaching eof in webm_guess_framerate"
Vignesh Venkatasubramanian [Tue, 7 Apr 2015 18:53:43 +0000 (11:53 -0700)]
Merge "webmdec: Fix for reaching eof in webm_guess_framerate"

2 weeks agowebmdec: Fix for reaching eof in webm_guess_framerate 83/74283/4
Vignesh Venkatasubramanian [Fri, 3 Apr 2015 22:45:14 +0000 (15:45 -0700)]
webmdec: Fix for reaching eof in webm_guess_framerate

Reset the reached_eos flag in webm_guess_framerate in case it ends
up consuming the entire file. Also adding a vpxdec shell test to
verify this behavior.

Change-Id: I371eebd2105231dc0f60e65da1f71b233ad14be5

2 weeks agoOptimize the checking for transform skipping 97/74297/1
Yaowu Xu [Tue, 7 Apr 2015 00:53:55 +0000 (17:53 -0700)]
Optimize the checking for transform skipping

If U is not skippable, then do not perform the check on V.

Change-Id: Iba5e8362bd42390197f373c44388a426a4404549

2 weeks agoMerge changes Ide5eefad,I28026b86,Ie9a6fac0,Ia8a20c67,I8c7f5b97,I33ca9cdd,I438cbf49
Jim Bankoski [Tue, 7 Apr 2015 00:05:35 +0000 (17:05 -0700)]
Merge changes Ide5eefad,I28026b86,Ie9a6fac0,Ia8a20c67,I8c7f5b97,I33ca9cdd,I438cbf49

* changes:
  vp8_regular_quantize_b_sse2: remove dead init
  vp8cx_pick_filter_level*: remove dead inits
  vp8_decode_frame: remove dead increment
  rdopt: remove dead stores
  find_next_key_frame: remove dead init & store
  multiframe_quality_enhance_block: remove dead stores
  vp8_print_modes_and_motion_vectors: remove dead stores

3 weeks agoSSSE3 assembly implementation of 8x8 Hadamard transform 92/74292/2
Jingning Han [Sat, 4 Apr 2015 16:48:18 +0000 (09:48 -0700)]
SSSE3 assembly implementation of 8x8 Hadamard transform

It uses about 10% less CPU cycles than the SSE2 intrinsic
implementation.

Change-Id: I91017c0c068679a214b98cdd4cff3a6facfb7499

3 weeks agoEnable Hadamard transform based cost estimate for all block sizes 77/74277/2
Jingning Han [Fri, 3 Apr 2015 18:33:24 +0000 (11:33 -0700)]
Enable Hadamard transform based cost estimate for all block sizes

This commit turns on the Hadamard transform based rate distortion
estimate for all block sizes in RTC coding mode. It conditionally
skips the rate distortion estimation if all zero block flag is set
on. No significant encoding speed change is observed. The
compression performance of speed -6 is improved by 1.7% over using
it only for block sizes of 32x32 and below.

Change-Id: I768145e6f05c737b05b5b5f1ee674e929532cafb

3 weeks agoMerge "Fix the scaling factor in UV skipping test"
Yunqing Wang [Sat, 4 Apr 2015 00:09:59 +0000 (17:09 -0700)]
Merge "Fix the scaling factor in UV skipping test"

3 weeks agovp8_regular_quantize_b_sse2: remove dead init 91/74291/1
James Zern [Fri, 3 Apr 2015 23:39:17 +0000 (16:39 -0700)]
vp8_regular_quantize_b_sse2: remove dead init

Change-Id: Ide5eefadbb3cab38743a69f744a003abb37a6506

3 weeks agovp8cx_pick_filter_level*: remove dead inits 90/74290/1
James Zern [Fri, 3 Apr 2015 23:37:53 +0000 (16:37 -0700)]
vp8cx_pick_filter_level*: remove dead inits

Change-Id: I28026b86d03264b9f4e2fc8ac1d3c74aa3954208

3 weeks agovp8_decode_frame: remove dead increment 89/74289/1
James Zern [Fri, 3 Apr 2015 23:36:14 +0000 (16:36 -0700)]
vp8_decode_frame: remove dead increment

Change-Id: Ie9a6fac02796d24e6f4a15416d0b4c19010547df

3 weeks agordopt: remove dead stores 88/74288/1
James Zern [Fri, 3 Apr 2015 23:21:43 +0000 (16:21 -0700)]
rdopt: remove dead stores

Change-Id: Ia8a20c6751cc6d63c60bb00b99c78faca1e61051

3 weeks agofind_next_key_frame: remove dead init & store 87/74287/1
James Zern [Fri, 3 Apr 2015 23:18:23 +0000 (16:18 -0700)]
find_next_key_frame: remove dead init & store

Change-Id: I8c7f5b9718ef14e4397a263aa9f52a9edcf7d1cd

3 weeks agomultiframe_quality_enhance_block: remove dead stores 86/74286/1
James Zern [Fri, 3 Apr 2015 23:15:51 +0000 (16:15 -0700)]
multiframe_quality_enhance_block: remove dead stores

Change-Id: I33ca9cddfdd54c3d8a23c1cb978986a537a20bf2

3 weeks agovp8_print_modes_and_motion_vectors: remove dead stores 85/74285/1
James Zern [Fri, 3 Apr 2015 23:08:37 +0000 (16:08 -0700)]
vp8_print_modes_and_motion_vectors: remove dead stores

Change-Id: I438cbf4970fa2220fb73b0b41a29e654836d4e3b

3 weeks agoFix the scaling factor in UV skipping test 82/74282/2
Yunqing Wang [Fri, 3 Apr 2015 22:35:31 +0000 (15:35 -0700)]
Fix the scaling factor in UV skipping test

The threshold scaling factor was calculated wrong using partition
size "bsize". Thank Yaowu for pointing it out. It was fixed and no
speed change was seen.

Change-Id: If7a5564456f0f68d6957df3bd2d1876bbb8dfd27

3 weeks agoTest loopfilters with count=2 81/74281/3
Ed Baker [Thu, 2 Apr 2015 20:57:13 +0000 (13:57 -0700)]
Test loopfilters with count=2

The following functions use the count parameter to either loop or select
dedicated paths:
vp9_lpf_horizontal_16_c
vp9_lpf_horizontal_16_sse2
vp9_lpf_horizontal_16_avx2
vp9_lpf_horizontal_16_neon
vp9_highbd_lpf_horizontal_16_c
vp9_highbd_lpf_horizontal_16_sse2

Change-Id: I7abfd2cb30baa292b4ebe11c847968481103c037

3 weeks agoMerge "vp9: enable sse4 sad functions"
James Zern [Fri, 3 Apr 2015 21:57:52 +0000 (14:57 -0700)]
Merge "vp9: enable sse4 sad functions"

3 weeks agoMerge "Merge branch 'indianrunnerduck'"
Johann [Fri, 3 Apr 2015 20:43:20 +0000 (13:43 -0700)]
Merge "Merge branch 'indianrunnerduck'"

3 weeks agoMerge "Remove AltiVec flag"
Johann [Fri, 3 Apr 2015 20:42:49 +0000 (13:42 -0700)]
Merge "Remove AltiVec flag"

3 weeks agoMerge branch 'indianrunnerduck' 80/74280/1
Johann [Fri, 3 Apr 2015 19:53:16 +0000 (12:53 -0700)]
Merge branch 'indianrunnerduck'

* indianrunnerduck:
  Update CHANGELOG for v1.4.0 (Indian Runner Duck) release
  vp9: fix high-bitdepth NEON build
  Fix use of scaling in joint motion search
  Prepare Release Candidate for libvpx v1.4.0
  vp8cx.h: vpx/vpx_encoder.h -> ./vpx_encoder.h

Change-Id: Ib2eee50f02e12623aae478871cb9150604bb2ac2