Commit Graph

3064 Commits

Author SHA1 Message Date
Alex Converse
bbfbbbf672 Convert use_fast_lpf_pick to an enum.
Change-Id: I06e17b489dea74dedea356c73ef72dc5ffad3a30
2014-03-21 14:59:26 -07:00
Yaowu Xu
d070aa5de0 Merge "changed to use correct pred_mv" 2014-03-21 11:13:48 -07:00
Yaowu Xu
2d70e16595 Merge "Fix a valgrind error" 2014-03-21 11:13:43 -07:00
Yaowu Xu
0e53d52088 changed to use correct pred_mv
The third pred_mv is stored in x->pred_mv[ref_frame]. This commit make
sure the correct mv is read.

Change-Id: Ibed24daf36703a63f0394c87b2381ee1d2eb7910
2014-03-21 09:16:06 -07:00
Yaowu Xu
46c71e5eba Merge "Remove duplicate declaration" 2014-03-21 08:44:04 -07:00
Yaowu Xu
e993fb5e24 Fix a valgrind error
Valgrind was complaining uninitialzed values are being used.

Change-Id: Ia9eb619f4e67d1fb7af1057d50304f15adc02aab
2014-03-21 08:36:40 -07:00
Marco Paniconi
1231638d33 Merge "Some code cleanup for cyclic refresh." 2014-03-20 21:15:40 -07:00
Yaowu Xu
98ed74d942 Change the min/max q validation in lossless mode
This commit changed how q is validated in lossless mode. With this
commit, when --lossless=1 is specificed at commandline, --min-q and
--max-q are now ignored. This is to make the option non-ambiguious.

Change-Id: I33e85690460537509d33be75d6a3597be4affc09
2014-03-20 19:22:27 -07:00
Yaowu Xu
0de216a995 Use local vairable in rd_auto_partition_range()
In addition to a few cleanups.

Change-Id: Ice5938ef494513921a47e7c64ba9928f2202e24e
2014-03-20 19:22:26 -07:00
Marco Paniconi
21be5ca042 Some code cleanup for cyclic refresh.
Change-Id: I0e4e2462ee27640f9bf4091431241ede6fc97267
2014-03-20 16:44:31 -07:00
Minghai Shang
03d75182f7 Merge "[svc] Finalize spatial svc first pass rate control" 2014-03-20 15:12:14 -07:00
Yunqing Wang
cf07d3e332 Remove unused mode_sad
Removed mode_sad.

Change-Id: I230b42ac9b617ae2c375e297057aa0756bd355fe
2014-03-20 09:28:16 -07:00
Jingning Han
b64d58c773 Merge "Enable variable block size test in non-RD mode decision" 2014-03-19 18:54:42 -07:00
Dmitry Kovalev
4c0cede2bc Merge "Cleaning up vp9_onyx_if.c and vp9_onyx_int.h." 2014-03-19 18:36:09 -07:00
Jingning Han
60f9ebc3f1 Enable variable block size test in non-RD mode decision
This is an initial attempt to allow variable block size partition
in non-RD coding flow. It tests 8x8, 16x16 and 32x32 block size per
64x64 block, all using non-RD mode decision and the associated rate
distortion costs from modeling, then selects the best block size to
encode the entire 64x64 block. Such operations are triggered every
other 3 frames. The blocks of intermediate frames will reuse the
collocated block's partition type.

It improves the compression performance by 13.2%. Note that the gains
are not evenly distributed. For many hard clips, the compression
performance is improved by 20% to 28%. Local speed test shows that
it will also increase runtime by 50%, as compared to speed -7. It is
now enabled in speed -6 setting.

Change-Id: Ib4fb8659d21621c9075b3c369ddaa9ecb0a4b204
2014-03-19 16:10:29 -07:00
Dmitry Kovalev
c9ec26f1d8 Moving common code into vp9_update_mv_count().
Change-Id: I512482853bdf2695fbdf1c705a2ada354ccf76cf
2014-03-19 14:26:11 -07:00
Yaowu Xu
7ef16efca1 Remove duplicate declaration
Change-Id: Ic8e52a89e0df816c38cd8ff1b7c53862b9a6dff2
2014-03-19 12:23:32 -07:00
Jingning Han
4d903f47b6 Merge "Fix the use of uninitialized skip flag" 2014-03-19 11:21:41 -07:00
Dmitry Kovalev
981c5f2e03 Merge "Rearranging and removing unused defines." 2014-03-19 11:18:47 -07:00
Minghai Shang
d205335060 [svc] Finalize spatial svc first pass rate control
1. Save stats for each spatial layer
      2. Add frame buffer management for svc first pass rc
      3. Set default spatial layer to 1
      4. Flush encoder at the end of stream in test app
This only supports spatial svc.
Change-Id: Ia89cfa87bb6394e6c0405b921d86c426d0a0c9ae
2014-03-19 11:06:20 -07:00
Yaowu Xu
39f95de83d Merge "Removed several unused functions." 2014-03-19 09:04:44 -07:00
Yaowu Xu
9aa88c476b Merge "Remove an unused function" 2014-03-19 09:04:35 -07:00
Jingning Han
98fd11c567 Fix the use of uninitialized skip flag
The use of uninitialized skip flag will trigger inconsistency in
coding statistics, when alternate RD and non-RD coding modes are
enabled. This commit fixes this issue and removes unnecessary if
statements from update_state_rt.

Change-Id: I7d549dcb0e3ef48b999e5bbc78174ba84502cfcf
2014-03-18 15:03:45 -07:00
Marco Paniconi
d1d2ef5166 Merge "In-frame q adjustment for cyclic background refresh." 2014-03-18 14:12:48 -07:00
Dmitry Kovalev
d3df2086c9 Merge "Cleaning up calc_active_worst_quality_one_pass_vbr()." 2014-03-18 13:10:10 -07:00
Dmitry Kovalev
8dfbda6d4e Cleaning up vp9_onyx_if.c and vp9_onyx_int.h.
Change-Id: I5136c45d3f5f435005a88d04652addcd835f4bfe
2014-03-18 11:49:23 -07:00
Dmitry Kovalev
66bf94965e Rearranging and removing unused defines.
Change-Id: I03049f89565ce19a297e65e2d53db127dc6f77d9
2014-03-18 11:20:06 -07:00
Marco Paniconi
6b83884ba9 In-frame q adjustment for cyclic background refresh.
Activated using aq_mode=3.

Change-Id: Ied628b9e7bd0e88b0c75790276bca75b19eb5c07
2014-03-18 10:59:21 -07:00
Dmitry Kovalev
645cb98e90 Cleaning up calc_active_worst_quality_one_pass_vbr().
Change-Id: Ibfccee5e35c235c02843e1c1fbd3c39034619cf5
2014-03-18 10:41:22 -07:00
Jingning Han
5e33fd200c Merge "Add bit-stream write flag to nonrd_use_partition" 2014-03-17 14:17:58 -07:00
Dmitry Kovalev
40a4a3dd89 Merge "Cleaning up enums in vp9_onyx_int.h" 2014-03-17 14:13:56 -07:00
Dmitry Kovalev
b93deb6251 Merge "Moving defines from vp9_onyx_int.h to suitable *.c files." 2014-03-17 14:12:13 -07:00
Yaowu Xu
5511968f21 Removed several unused functions.
Change-Id: Ib9e27298c575afc02a98b593bc6ad60762064d9b
2014-03-17 14:09:29 -07:00
Yunqing Wang
c8e84dd2cc Merge "Calculate rate_mv after sub-pixel search in non-rd mode" 2014-03-17 14:04:47 -07:00
Yaowu Xu
aec5e1ed65 Remove an unused function
Change-Id: Iaaea882e59dfec38c0a9a24deaf8525a0fb62515
2014-03-17 14:03:14 -07:00
Dmitry Kovalev
7bc241632c Cleaning up enums in vp9_onyx_int.h
Change-Id: Ib5cbf77052bc03495ae135b3cdcd39c2452c2b34
2014-03-17 12:56:21 -07:00
Dmitry Kovalev
8228ead7df Moving defines from vp9_onyx_int.h to suitable *.c files.
Change-Id: I0d39bdbb8166ee44561f1008d1a2e76e70b36f30
2014-03-17 12:54:51 -07:00
Yaowu Xu
1ced9764bb Merge "Remove unused functions" 2014-03-17 11:25:39 -07:00
Dmitry Kovalev
65dc919103 Merge "Cleaning up vp9_diamond_search_sad_c & vp9_diamond_search_sadx4." 2014-03-17 11:23:49 -07:00
Jingning Han
6affef728b Add bit-stream write flag to nonrd_use_partition
This is for the purpose to test variable partition choices for the
same 64x64 block.

Change-Id: I0fab7351a62e7d3dfccd667e908bccb996ee677e
2014-03-14 17:13:02 -07:00
Yunqing Wang
587cca4505 Calculate rate_mv after sub-pixel search in non-rd mode
Modified the non-rd rate_mv calculation and moved it after sub-pixel
motion search is done.

Change-Id: I6a5cbd3d67ff0a86b3693e25ecf1fd77b16d708c
2014-03-14 15:55:02 -07:00
Yaowu Xu
04b7f14ad5 Remove unused functions
Change-Id: Iec885af58c95e65814fcb6ab528ce4e0874eb573
2014-03-14 15:47:41 -07:00
Jingning Han
5aa56f7c48 Merge "Properly reset the block coding skip flag array in non-RD mode" 2014-03-14 14:31:25 -07:00
Yaowu Xu
e6058ea061 Merge "change to save rdmult value correctly" 2014-03-14 13:27:32 -07:00
Jingning Han
a2e711ce38 Properly reset the block coding skip flag array in non-RD mode
The block coding skip flags are assigned in the normal RD mode
decision loop. They are then used in the final encoding stage.
In the non-RD mode decision, the forward transform and quantization
stages are replaced by modeling based on SSE and variance of
prediction residues. This commit applies reset to this array in
the non-RD coding mode.

Change-Id: I66584669b035e9c8ac23e95047849ff277472742
2014-03-14 12:14:06 -07:00
Yaowu Xu
28f947359d Merge "Use of inline instead of INLINE." 2014-03-14 11:48:09 -07:00
Yaowu Xu
2a03d0d22b change to save rdmult value correctly
This commit moves the position where rdmult is saved to make sure it
is the correct value. Prior, an uninitialized value may be saved and
restored.

This addresses issue:
https://code.google.com/p/webm/issues/detail?id=733

Change-Id: I436407f289169bc63da3c5a6bf609bed16cb71b5
2014-03-14 11:18:27 -07:00
Jingning Han
5806e70ee3 Merge "Remove deprecated function nonrd_use_fixed_partition" 2014-03-14 09:06:11 -07:00
Jingning Han
0428f349d4 Merge "Remove unused comment" 2014-03-14 09:06:03 -07:00
Jingning Han
6be7120ecf Merge "Refactor the non-RD partition decision process" 2014-03-14 09:05:54 -07:00