Commit Graph

11479 Commits

Author SHA1 Message Date
Deb Mukherjee
10783d4f3a Adds high bitdepth transform functions and tests
Adds various high bitdepth transform functions and tests.
Much of the changes are related to using typedefs tran_low_t
and tran_high_t for the final transform cofficients and intermediate
stages of the transform computation respectively rather than fixed
types int16_t/int. When vp9_highbitdepth configure flag is off,
these map tp int16_t/int32_t, but when the flag is on, they map
to int32_t/int64_t to make space for needed extra precision.

Change-Id: I3c56de79e15b904d6f655b62ffae170729befdd8
2014-09-11 19:56:33 -07:00
Deb Mukherjee
1e4136d35d Adds high bit depth sad and variance functions
Moves high bit depth sad/var functions from highbitdepth
branch to master.

Change-Id: If03845d8ef9c9c494e13350e7a587c289306b94d
2014-09-11 17:30:44 -07:00
Johann
ac2f2e7855 Merge "Allow specifying opt dependencies" 2014-09-11 16:02:41 -07:00
James Zern
d555dfdc69 Merge "vp9_picklpf: search_filter_level: remove filt_err" 2014-09-11 15:39:19 -07:00
Minghai Shang
e9b6c5f6eb Merge "[spatial svc] Remove handling frame and stats packets in the codec" 2014-09-11 14:12:44 -07:00
Johann
8645a53039 Allow specifying opt dependencies
If optimizations use more than one cpu feature, allow
specifying them so that '--disable-X' still works

https://code.google.com/p/webm/issues/detail?id=854

Change-Id: I3108ea37b397371a2be84dd5f2380b304db23f18
2014-09-11 13:43:48 -07:00
Dmitry Kovalev
fb285bab1e Merge "Adding lossless encoding example." 2014-09-11 13:43:47 -07:00
Jingning Han
71b4bee33f Merge "Remove inter_mode_mask from rate-distortion search loop" 2014-09-11 12:08:13 -07:00
James Zern
49d7abc0ec vp9_picklpf: search_filter_level: remove filt_err
inspect ss_err[] directly, removes an unnecessary assignment

Change-Id: I14db5e8e567e7e541a57fce73389ffe7651d5614
2014-09-11 11:37:56 -07:00
Minghai Shang
12aaff560b [spatial svc] Remove handling frame and stats packets in the codec
1. svc_encodeframe.c will not handle frame or stats packets anymore.
   The app will process them.
2. Remove APIs that related to these packets.

Change-Id: Id0d7f8b458dc09c6f77064c0878fd4e572db001b
2014-09-11 11:35:27 -07:00
Dmitry Kovalev
cb1f97e880 Adding lossless encoding example.
Change-Id: Ib8498c3127c397b453beff140503b2aca0d11cfc
2014-09-11 11:27:38 -07:00
Jingning Han
0cf599b573 Merge "Move intra block size skip outside mode search loop" 2014-09-11 11:15:35 -07:00
Jingning Han
387ec881d3 Merge "Fix format in vp9_rd_pick_inter_mode_sub8x8" 2014-09-11 11:15:25 -07:00
Jingning Han
3556ab56f6 Merge "Move overlay frame speed feature setting out of mode search loop" 2014-09-11 11:14:37 -07:00
Jingning Han
82757250d6 Merge "Refactor to remove speed feature dependency on mode search order" 2014-09-11 11:14:26 -07:00
Minghai Shang
fb754540e9 Merge "[spatial svc]Add golden frame to first pass rate control" 2014-09-11 10:24:28 -07:00
Jingning Han
8cefed1568 Remove inter_mode_mask from rate-distortion search loop
This speed feature is used in real-time setting only. Remove the
related condition check in the rate-distortion optimization search
loop.

Change-Id: Iaacc1e268214634e6f95c5048c28a60cec6c42fc
2014-09-11 10:18:55 -07:00
Jingning Han
238b2ace86 Move intra block size skip outside mode search loop
Unify this speed feature in the ref_frame_skip_mask scheme.

Change-Id: I7ea5646da02d3ea643680c22d50dabd448d55a27
2014-09-11 09:54:19 -07:00
Jingning Han
8b06a24ce7 Fix format in vp9_rd_pick_inter_mode_sub8x8
Change-Id: I0da29c858c6c1eb5ef07cee8f599329f5a002da9
2014-09-11 09:28:47 -07:00
Jingning Han
8d42fad9c1 Move overlay frame speed feature setting out of mode search loop
Refactor overlay frame speed-up related function. Make it unified
with the ref_frame_skip_mask system and Move it out of the mode
search loop.

Change-Id: I0dde9baf44354f6ba00b4679cba02fa6a30c7316
2014-09-10 19:44:58 -07:00
JackyChen
d9050af683 Merge "Fix the bug which made VP8 denoiser not bit-exact between C code and SSE code." 2014-09-10 18:08:59 -07:00
Minghai Shang
0a0ccf669b [spatial svc]Add golden frame to first pass rate control
Change-Id: If3035f0e7dfcfe88c4bbf4eec66761e070476df0
2014-09-10 17:35:02 -07:00
Jingning Han
f9f0879756 Refactor to remove speed feature dependency on mode search order
This commit refactor the rate-distortion optimization search for
regular block sizes to remove the speed feature dependency on mode
search order.

Change-Id: Ied033ee484c2957e17baa7b6450b720fe7dd0e7d
2014-09-10 17:09:14 -07:00
James Zern
d308fd8225 Merge "vp9: wait for key/intra-only frame after corruption" 2014-09-10 17:02:37 -07:00
JackyChen
47380c3350 Fix the bug which made VP8 denoiser not bit-exact between C code and SSE code.
This issue is found when the denoising mode is set to kDenoiserOnYUVAggressive.
Updated the C code to make it the same with SSE version.

I also changed several lines in VP9 denoiser for the code style.

Change-Id: I640d48cf946fe8c6a400e6e252107501d1e226d3
2014-09-10 16:18:43 -07:00
Jingning Han
6facdfdd7d Merge "Fix a bug in vp9_rd_pick_inter_mode_sb" 2014-09-10 14:46:19 -07:00
Jingning Han
5ac97d101d Merge "Remove redundant ref frame pointer assignment" 2014-09-10 14:46:11 -07:00
Tom Finegan
4e94dec352 examples/twopass_encoder: Use good quality.
This speeds up the encode significantly. Also added a comment about using
best quality to keep new developers informed.

Change-Id: I04e8154d4b2c4cae07fe7cc9a71e707f649e9ed4
2014-09-10 11:14:07 -07:00
Jim Bankoski
0e66848081 Merge "LoopFilterWorkerData: remove misleading 'const'" 2014-09-10 06:33:51 -07:00
James Zern
7ee073e61d vp9: wait for key/intra-only frame after corruption
don't bother decoding any further after receiving an earlier decode
error until a key/intra-only frame is encountered.

Change-Id: I381917b70d7a9e6f8d6de42e3d181bb113a4cec4
2014-09-09 19:36:11 -07:00
Dmitry Kovalev
56b9c649a3 Merge "Removing legacy compatibility layer." 2014-09-09 18:24:12 -07:00
James Zern
2215d2f135 Merge changes If8887e1d,I36bfc9c8,I3d1e6c42
* changes:
  vp9_dthread: simplify loop_filter_row_worker signature
  simplify vp9_loop_filter_worker signature
  vp9_decodeframe: simplify tile_work_hook signature
2014-09-09 16:50:28 -07:00
James Zern
6d65cb1552 Merge changes I660c1b7f,Id3cdf6b6
* changes:
  vp9_loop_filter_frame_mt: defer allocations
  vp9_loop_filter_alloc: reorder parameters
2014-09-09 16:48:43 -07:00
Jingning Han
68d79146ea Fix a bug in vp9_rd_pick_inter_mode_sb
This commit fixes a bug related to skipping intra mode checking, by
using a separate variable to store the best prediction error from
inter mode. It avoids unintentionally overwriting intra mode
rate-distortion cost, and hence affecting other speed features.

Change-Id: I99e12993339c84c8b4f597996b372012e5858fae
2014-09-09 15:39:54 -07:00
Jingning Han
9a9e2aef09 Remove redundant ref frame pointer assignment
Assigning selected reference frame pointer is done in the
encode_superblock function. No need to do this at the end of
rate-distortion optimization search.

Change-Id: I33fcede0fd304b4a4c4deef2d126d79546a9c070
2014-09-09 15:15:11 -07:00
Jingning Han
89ffda0ddf Merge "Remove dependency of intra mode search skip check on mode order" 2014-09-09 14:10:28 -07:00
Jingning Han
1614306913 Merge "Replace best_mode_index table retrieve with fetching best_mbmode" 2014-09-09 14:10:19 -07:00
Yunqing Wang
c792e1d50f Merge "Remove the use of use_lastframe_partitioning at speed 4" 2014-09-09 14:06:02 -07:00
Johann
0fd7ca20ce Merge "Restructure ARM assumptions in cpudetect" 2014-09-09 13:01:14 -07:00
Dmitry Kovalev
8e205a2a09 Merge "Cleaning up and speeding up vp9_idct32x32_1024_add_sse2()." 2014-09-09 12:50:23 -07:00
Jingning Han
33593d1f03 Remove dependency of intra mode search skip check on mode order
This commit refactors the vp9_rd_pick_inter_mode_sb function to
remove the intra mode early termination dependency on the mode
search order.

Change-Id: If6ac49aa7c530c7b9a5bd31b0ab84db83e192bec
2014-09-09 12:30:47 -07:00
Alex Converse
5078d8296d Merge "Add an invalid file test for referencing a different color space." 2014-09-09 12:28:40 -07:00
Alex Converse
f353da9374 Merge "BITSTREAM CLARIFICATION: Forbid referencing across color spaces." 2014-09-09 12:28:37 -07:00
Jingning Han
d96228a07c Replace best_mode_index table retrieve with fetching best_mbmode
This commit allows the encoder to find current best prediction mode
state using best_mbmode, instead of fetching from the static mode
search table via best_mode_index.

Change-Id: Ibefeab83aed33a49c2be03e83f09153856ca4271
2014-09-09 11:58:10 -07:00
Johann
8dcdacc597 Restructure ARM assumptions in cpudetect
Allow building for targets which have NEON but not EDSP or MEDIA.

Set HAS_NEON flag for builds which have neon assembly but not
intrinsics.

Change-Id: Ibfa81a8444a8c55d1d3209c533d1d70d2f809669
2014-09-09 11:50:32 -07:00
Yunqing Wang
f10d7eeda2 Remove the use of use_lastframe_partitioning at speed 4
The use of use_lastframe_partitioning is totally removed in good-
quality encoding. Its usage in real-time encoding needs to be
evaluated to see if it can be removed too.

The Borg tests at speed 4 showed:
stdhd set: 0.220% psnr gain, 0.166% ssim gain;
derf set:  0.329% psnr gain, 0.476% ssim gain.

Speed test on selected clips showed 1.54% speedup.(Worst case:
pedestrian_area_1080p25.y4m, speed loss: 1.5%)

Change-Id: I1c844d329b0b5678558439b887297c1be7ddab00
2014-09-09 10:54:07 -07:00
Marco
619951af97 Merge "vp8: Updates for adaptive denoiser mode." 2014-09-09 10:19:27 -07:00
Marco
0c7a9925d6 vp8: Updates for adaptive denoiser mode.
Add qp/bitrate condition, update some settings.

Change-Id: I1af0f102823a886393be063ad9d17d7564753cc7
2014-09-09 09:19:01 -07:00
Johann
23bed46ddd Move vp8_variance_halfpixvar16x16_*_neon definitions
These functions moved from 'neon_asm' to 'neon' in
9293d267d2

Change-Id: I9cb5626c3eec96876a73fb18f2bfc982a5858edb
2014-09-09 08:21:36 -07:00
James Zern
a46ca6ec00 vp9_loop_filter_frame_mt: defer allocations
the code currently checks whether the allocation has been done instead
of allocating on the first frame.
since:
4f27202 vp9: fix crash in mt loopfilter w/corrupt file

this change defers the allocation until the loop filter is used.

Change-Id: I660c1b7f34e713a8dd9884483f01d23b9847366e
2014-09-08 20:13:39 -07:00