Commit Graph

11753 Commits

Author SHA1 Message Date
JackyChen
282fac96ca Merge "Change the control function of VP9 denoiser." 2014-09-12 19:18:41 -07:00
Deb Mukherjee
c0dfecfb89 Merge "Use bigdia search with pruned subpel search" 2014-09-12 16:42:18 -07:00
JackyChen
bb1a23656c Change the control function of VP9 denoiser.
Change from VP8E_SET_NOISE_SENSITIVITY to VP9E_SET_NOISE_SENSITIVITY

Change-Id: Ia210a7029b26924e30973f0f9798a338e0412407
2014-09-12 16:34:22 -07:00
Minghai Shang
7bd403c16a Merge "[spatial svc] Remove useless APIs and variables" 2014-09-12 16:30:44 -07:00
Johann
4bfdc331ad Merge "Remove unused vp8_strict_quantize" 2014-09-12 16:17:18 -07:00
Johann
ad4edc0b4e Merge "Remove unused vp8 quantize functions" 2014-09-12 16:16:52 -07:00
Yunqing Wang
1bf0beb5fc Refactor encode_superblock function
The code covers both x->skip=0 & x->skip=1 cases.

Change-Id: I09745c10e5994dc700ae4c01b4b62979cdaf3306
2014-09-12 15:58:17 -07:00
Dmitry Kovalev
a8e6ffa6c2 Merge "Enabling example code build for both VP8 and VP9." 2014-09-12 15:51:46 -07:00
Johann
f1f7bcd289 Remove unused vp8_strict_quantize
Change-Id: I4c35ed2de8b54751b69f4801454a1ccc35b500b0
2014-09-12 15:02:03 -07:00
Jingning Han
888a848453 Remove redundant reference frame threshold settings
When a reference frame type is not in the frame buffer, the mode
search threshold will be set to INT_MAX, so as to effectively
turn off the mode entries in the rate-distortion optimization loop
that involves this reference frame type. This operation is now
integrated in the ref_frame_skip_mask scheme. This commit hence
removes the redundant mode search threshold setting.

Change-Id: Ib18f45da611afda2af275201efd367df7f5101ab
2014-09-12 14:36:51 -07:00
Jingning Han
adb20849b6 Refactor reference frame control in sub8x8 block RD search
This commit unifies the reference frame control in the rate-
distortion optimization search loop of sub8x8 block size to remove
the control dependency on mode search order.

Change-Id: I3a174099f71a7cc176ede9fd60e2374243ae9232
2014-09-12 11:03:03 -07:00
Minghai Shang
bb74a77c26 [spatial svc] Remove useless APIs and variables
Change-Id: If8cd3879aa2a498a2b1b97cedb88b2b3bd97f0ba
2014-09-12 10:52:53 -07:00
Minghai Shang
3e7b04af54 Merge "[spatial svc] Output psnr for all layers in one packet." 2014-09-12 10:52:42 -07:00
Deb Mukherjee
83c76118eb Use bigdia search with pruned subpel search
Improves function to return sad of integer pels by reusing integer
pels already visited in the smallest scale.
Turns on BIGDIA search for speed 4. Also, turns on the
first version of the pruned subpel search at this speed.

derf: -0.32% (speed 4)

Speed seems to improve by at least 5% but subject to verification.

Change-Id: Iaec8eaffd61d6237ac029e6a2a1b0a88b2a35271
2014-09-12 10:25:12 -07:00
Jingning Han
7f77a1c3c9 Merge "Unify intra mode mask into mode_skip_mask scheme" 2014-09-12 09:06:35 -07:00
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
Jingning Han
74ddde01c0 Format fixes in vp9_rd_pick_inter_mode_sb
Change-Id: Ie45687405dcaa34ba465dce2aa14f76017d3a794
2014-09-11 17:15:15 -07:00
Minghai Shang
e3fff31aff [spatial svc] Output psnr for all layers in one packet.
Change-Id: I97d0cf095e9cfefdfa0f65eb5e96d6848cc9ffca
2014-09-11 16:21:35 -07:00
Jingning Han
8e3f7a52a1 Remove unused best_inter_rd variable
The variable best_inter_rd is effectively not in use in the rate-
distortion mode search loops of both regular block sizes and sub8x8
block sizes.

Change-Id: I178f909f8c9629772e13adc6257908653b2adf31
2014-09-11 16:16:26 -07:00
Johann
ac2f2e7855 Merge "Allow specifying opt dependencies" 2014-09-11 16:02:41 -07:00
Jingning Han
00fe92c22f Remove unused speed feature
The speed feature that skips compound inter prediction modes was
subsumed by other speed features and effectively was not in use.
This commit removes it.

Change-Id: I22b0c71a8ddd15d93b25d86fa63a1dce2ba6a1a9
2014-09-11 15:54:53 -07:00
Dmitry Kovalev
5ba8c79869 Enabling example code build for both VP8 and VP9.
Change-Id: I1bf7e34e6735461e4e587b6b806c2abc3fe63013
2014-09-11 15:46:37 -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
Jingning Han
3ef9786b7e Add a note for enum values of MV_REFERENCE_FRAME
Change-Id: Ifaf6738f26e86ded6eb6ea1465bad7a229612999
2014-09-11 10:55:42 -07:00
Jingning Han
bdd8eb6fcc Unify intra mode mask into mode_skip_mask scheme
Integrate intra mode mask speed feature with the mode_skip_mask
scheme. Move it outside the mode search loop in the
vp9_rd_pick_inter_mode_sb function.

Change-Id: I7738fea749bfdc08ad05d7f2524feb8ff67568d9
2014-09-11 10:36:48 -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