Jingning Han
4b3e44f91d
Merge "Periodically update mode and mv costs"
2014-02-22 11:54:20 -08:00
Yaowu Xu
5a7ac03b9e
Changed a constant array to static const type
...
Change-Id: I5b3918441f63ceb7889dcf546e9a2d781be4a3cb
2014-02-21 22:44:13 -08:00
Yaowu Xu
f1633e5844
Merge "Remove an unused variable"
2014-02-21 22:44:05 -08:00
Jingning Han
836252bfa6
Periodically update mode and mv costs
...
Skip coefficient cost update in non-RD mode decision setting. Allow
periodical mode and motion vector cost update. Currently every other
8 frames. The increment runtime is a constant number. Hence more
visible for CIF resolution, while negligible for 1080p.
Speed -6 compression performance for rtc set is improved by 4.5%.
Change-Id: I27e0ad7c521fcc2af1d825582cbdd1a27ac4c323
2014-02-21 18:25:43 -08:00
Jingning Han
ba9b4b81be
Merge "Refactor selected partition size coding for rtc"
2014-02-21 17:41:32 -08:00
Alex Converse
a8e1d66b68
Merge "Stop gating non420 features with a configure flag."
2014-02-21 15:45:38 -08:00
Jingning Han
1fc0bde675
Refactor selected partition size coding for rtc
...
This commit makes a refactoring of the rtc_use_partition. It allows
the encoder to take a preferred block size for non-RD mode decision.
The boundary blocks are handled such that smaller block sizes that
fit in the boundary size will be used instread.
In rtc mode, the coding performance of speed -6 for pedestrian_1080p
goes from
158980 b/f, 38.934 dB, 22721 ms to
159008 b/f, 40.064 dB, 23721 ms.
For rtc set, the speed -6 compression performance is improved by
26%. Still about 2dB behind speed -5 at this point.
Change-Id: If0944f0880eaf1ad340bc325d97cea8d0f9dd53f
2014-02-21 14:49:57 -08:00
Yaowu Xu
67a1bff91d
Merge "vp9_rd_pick_inter_mode_sb() reorganization"
2014-02-21 12:06:31 -08:00
Alex Converse
6e3cf6ec1d
Stop gating non420 features with a configure flag.
...
Change-Id: I8cc38fdef6a2a0968af8dfe15e7c2b3c46c531ea
2014-02-21 12:05:29 -08:00
Alex Converse
463ba70581
vp9_rd_pick_inter_mode_sb() reorganization
...
* Reduce the number of short cirtcuit checks by pre-computing and combining like checks.
* Postpone non-trivial initializations until after the shortcircuits are evaluated.
* Add some consts and const pointers.
No change to the actual results of the call or output of the encoder.
Change-Id: Ie44c4702aec6e08cfe0b8b0ba3cd6b57206478d1
2014-02-20 18:06:25 -08:00
Jingning Han
d66a63f02b
Enable reduced set of intra modes in rtc coding
...
This commit enables the use of DC, vertical, and horizontal intra
prediction mode in rtc non-RD mode decision. When the best cost value
of inter modes is above a given threshold, the encoder runs the
above three intra modes and selects the one that has minimum
prediction residual in terms of SAD.
This together with recent changes on non-RD mode decision and coding
control improves compression performance of speed -6 by
derf 91%
yt 61%
hd 46%
stdhd 52%
In terms of encoding speed, it is about 3 times faster than speed -5.
Change-Id: I6b483bfd0307e6482bb22a6676ae4e25a52b1310
2014-02-20 18:03:23 -08:00
Jingning Han
a134527bdc
Merge "Force alt reference frame off in rtc mode"
2014-02-20 18:03:12 -08:00
James Zern
e36cfc91a4
Merge "vp9_subpel_variance_impl_intrin_avx2.c: make some tables static"
2014-02-20 16:03:23 -08:00
James Zern
e2f614be53
Merge "vp9_subpixel_8t_intrin_ssse3.c: make some tables static"
2014-02-20 16:02:16 -08:00
James Zern
3240db7407
Merge "vp9_subpixel_8t_intrin_avx2.c: make some tables static"
2014-02-20 16:01:50 -08:00
Jingning Han
abf5b8d5eb
Force alt reference frame off in rtc mode
...
When non-RD coding decision is used in rtc mode, the alt reference
is not used for inter frame prediction. This commit disabled alt ref
option whenever speed -6 is used.
Change-Id: I0b33ca03661de1db2d9bef1bcbff848cd4c9396f
2014-02-20 15:27:16 -08:00
Yaowu Xu
c58e1c7be9
Remove an unused variable
...
Change-Id: I8eeec70a7d4403243762f14d0b560792801645e8
2014-02-20 14:49:44 -08:00
Jingning Han
be4cf6bcdc
Merge "Rename vp8_cfg to vp9_cfg in vp9_cx_iface"
2014-02-20 14:29:41 -08:00
Jingning Han
65bcabbe8c
Merge "Use MI_BLOCK_SIZE in block coding loop"
2014-02-20 14:29:30 -08:00
Jingning Han
2aac18a4a6
Merge "Rework non-RD mode decision coding flow"
2014-02-20 14:28:57 -08:00
Yunqing Wang
cde6b50cb1
Merge "Use fast HEX search in real time mode"
2014-02-20 12:07:10 -08:00
Alex Converse
1d34991139
Merge "Only track mode_chosen_counts if CONFIG_INTERNAL_STATS."
2014-02-20 12:03:48 -08:00
Tom Finegan
595985334e
vp9_encodeframe.c: Silence rdmult assignment warning with a cast.
...
Cast result of round() to int.
Change-Id: Ib708fddfadde4c765001ce9723fda113fd0f4bf6
2014-02-20 12:01:47 -08:00
Tom Finegan
6224516235
Merge "vp9_vaq.c: Cast result of round() to int to silence warning caused by clamp() call."
2014-02-20 11:57:36 -08:00
Tom Finegan
15e95086e2
vp9_encodeframe.c: Silence totalrate assignment warning with a cast.
...
Cast result of round() to int.
Change-Id: I4982886ad4e7657b4c40d21bd850d31690a68c28
2014-02-20 11:53:11 -08:00
Marco Paniconi
fd402e1374
Condition alt-ref entropy context setting on svc.
...
Avoid special context setting for alt-ref in svc mode.
Change-Id: I5337d0739abe16aab7854bcaa3c8537191c4b60c
2014-02-20 09:55:29 -08:00
Paul Wilkins
bb61327b98
Merge "vp9_rdopt.c: Use int64_t for dist_sum and rate_sum in model_rd_for_sb()."
2014-02-20 02:03:49 -08:00
Alex Converse
657519192e
Only track mode_chosen_counts if CONFIG_INTERNAL_STATS.
...
Change-Id: Ia9252ad0caa4d2bda529a3fe93efcb31e7eb2da0
2014-02-19 18:52:04 -08:00
Jingning Han
aa7c495472
Rename vp8_cfg to vp9_cfg in vp9_cx_iface
...
This variable takes control parameters for vp9 encoder, hence
renamed vp9_cfg.
Change-Id: I9b253c41a06e44d97fe699f26005cd71e2eeb36c
2014-02-19 13:46:48 -08:00
Dmitry Kovalev
3ba5df4911
Merge "Adding is_mv_valid() function."
2014-02-19 13:39:21 -08:00
Alex Converse
43b7959dbc
Merge "Do not use the value of 'rate_mv' if uninitialized."
2014-02-19 12:41:14 -08:00
James Zern
10f2db2b1f
Merge "vp9: normalize DECLARE_ALIGNED use on global tables"
2014-02-19 11:38:47 -08:00
Jingning Han
93ba687499
Use MI_BLOCK_SIZE in block coding loop
...
Change-Id: Ia70057e11c9b3d9d4bea6fbdd08839334ed02dce
2014-02-19 11:17:12 -08:00
Jingning Han
b99ed1ec5a
Rework non-RD mode decision coding flow
...
In the first coding run of a 64x64 block, check the coding mode
for each 8x8 block. Will need a second annealing stage to decide
the partition size to be encoded.
Change-Id: Ida9417805ff3358979b0c0429d4099c023c88866
2014-02-19 11:13:05 -08:00
Paul Wilkins
98bf47df16
Merge "Remove comment from calls to vp9_clear_system_state."
2014-02-19 05:14:51 -08:00
Dmitry Kovalev
9b75f381cf
Adding is_mv_valid() function.
...
Change-Id: I9d036244b558765b252d8c6681b22721cb2e51bb
2014-02-19 13:57:18 +01:00
Dmitry Kovalev
a7f8624458
Cleaning up vp9_onyx_if.c.
...
Change-Id: I389790f1ad0dd40816a7ae1ddad4a5c46278cff3
2014-02-19 10:59:53 +01:00
Dmitry Kovalev
35bd886864
Merge "Cleaning up pack_inter_mode_mvs() function."
2014-02-19 01:04:36 -08:00
Dmitry Kovalev
4e06ee39b0
Merge "Removing unused tree_update_hist[] array."
2014-02-19 01:02:51 -08:00
Dmitry Kovalev
54164c0e07
Merge "Cleaning up vp9_encodemb.c."
2014-02-19 01:02:30 -08:00
James Zern
b78c219c80
vp9: normalize DECLARE_ALIGNED use on global tables
...
- place extern within the macro
- use in the header only
Change-Id: I4274b345d8af9ef329c0eb9553a3ddaad70d1d26
2014-02-18 22:57:43 -08:00
Tom Finegan
a0e495579e
vp9_rdopt.c: Use int64_t for dist_sum and rate_sum in model_rd_for_sb().
...
Removes unnecessary casts and silences warnings.
Change-Id: Ic516a909a2b3748831be6717f02d86ca60190af3
2014-02-18 22:31:11 -08:00
Yaowu Xu
f4ce20c530
Removed unnecessary type cast
...
Change-Id: I0f2d5155ec042e9b5cbe9a9d6b186b121ed7737f
2014-02-18 21:03:47 -08:00
James Zern
d12b39daab
vp9_subpel_variance_impl_intrin_avx2.c: make some tables static
...
+ fix formatting
Change-Id: I7b4ec11b7b46d8926750e0b69f7a606f3ab80895
2014-02-18 20:42:49 -08:00
James Zern
d73d621e5d
vp9_subpixel_8t_intrin_ssse3.c: make some tables static
...
+ fix formatting
Change-Id: I344d4de089d03e403f0c7b3e64aeb7086cce86ac
2014-02-18 20:42:00 -08:00
James Zern
a96af49bab
vp9_subpixel_8t_intrin_avx2.c: make some tables static
...
+ fix formatting
Change-Id: Ia62610bff3d63855104366d7860749b6a3cf4577
2014-02-18 20:40:40 -08:00
James Zern
26c8e720ca
Merge "vp9_filter: move table alignment decl's to header"
2014-02-18 20:15:33 -08:00
Tom Finegan
76c1896fda
vp9_vaq.c: Cast result of round() to int to silence warning caused by clamp() call.
...
clamp() wants an int, round returns a double, warning! Too bad we can't just use lrint.
Change-Id: I9c08289dde742fac0d673df8559a1892edcd1bc7
2014-02-18 18:26:42 -08:00
Alex Converse
2ceaf10e07
Do not use the value of 'rate_mv' if uninitialized.
...
This happens when exiting single_motion_search() early due to adaptive_motion_search.
Change-Id: Ic396e7e31e59ff219bb66a459c873c9e5b17400d
2014-02-18 17:04:42 -08:00
Adrian Grange
9b9c33a2b8
Remove comment from calls to vp9_clear_system_state.
...
Removed the comment "// __asm emms;" from all calls
to vp9_clear_system_state.
Change-Id: Ib4dae69c1cdf3f185b04184a870cd70c4d703f10
2014-02-18 15:43:42 -08:00