Jingning Han
12bf0796e6
Clamp inferred motion vectors only
...
Clamp only the motion vectors inferred from neighboring reference
macroblocks. The motion vectors obtained through motion search in
NEWMV mode are constrained during the search process, which allows
a relatively larger referencing region than the inferred mvs.
Hence further clamping the best mv provided by the motion search may
affect the efficacy of NEWMV mode.
Synchronized the decoding process. The decoded mvs in NEWMV modes
should be guaranteed to fit in the effective range. Put a mv range
clamping function there for security purpose.
This improves the coding performance of high motion sequences, e.g.,
derf set:
foreman 0.233%
husky 0.175%
icd 0.135%
mother_daughter 0.337%
pamphlet 0.561%
stdhd set:
blue_sky 0.408%
city 0.455%
also saw sunflower goes down by -0.469%.
Change-Id: I3fcbba669e56dab779857a8126a91b926e899cb5
2013-04-08 11:37:03 -07:00
John Koleszar
0e7b7e47c2
Merge "Small cleanup inside setup_loopfilter function." into experimental
2013-04-05 16:13:46 -07:00
John Koleszar
8bbabbea70
Merge "Segmentation code cleanup." into experimental
2013-04-05 16:03:25 -07:00
John Koleszar
fa135d7b9e
Merge changes Ibbfa68d6,Idb76a0e2 into experimental
...
* changes:
Move EOB to per-plane data
Move qcoeff, dqcoeff from BLOCKD to per-plane data
2013-04-05 15:56:50 -07:00
Ronald S. Bultje
9161127ee9
Merge "Remove full-pixel-related code." into experimental
2013-04-05 13:46:07 -07:00
Ronald S. Bultje
fd2a747038
Merge "Remove some unused macros." into experimental
2013-04-05 13:46:02 -07:00
Ronald S. Bultje
c6c07d7013
Merge "Remove struct POS." into experimental
2013-04-05 13:45:58 -07:00
Ronald S. Bultje
a9688dfdfb
Merge "Remove unused vpx_log() function prototype." into experimental
2013-04-05 13:45:51 -07:00
Ronald S. Bultje
ac28c3169a
Merge "Remove "tx_type" member from union b_mode_info." into experimental
2013-04-05 13:45:48 -07:00
Yaowu Xu
2e23c74794
Merge "Removed a speed feature no longer used" into experimental
2013-04-05 13:34:57 -07:00
Yaowu Xu
3dca0d44d2
Merge "make one_shot_q an experiment" into experimental
2013-04-05 13:34:45 -07:00
Ronald S. Bultje
36c3a67c20
Remove full-pixel-related code.
...
This is a VP8-only feature (part of profile 3) that is unsupported in
VP9.
Change-Id: I78016eede8d9c834d44d4c517f3e8b8fc2a378b1
2013-04-05 12:50:19 -07:00
Dmitry Kovalev
421baef49e
Small cleanup inside setup_loopfilter function.
...
Change-Id: If7fa8aea02f26c2c2bb5daf4e65c3e661d7031ca
2013-04-05 12:48:48 -07:00
Ronald S. Bultje
61834f7325
Remove some unused macros.
...
Change-Id: Ic219e7878428128e4bb1b3995e8151f92b6bd9c3
2013-04-05 12:40:56 -07:00
Ronald S. Bultje
0732a61c37
Remove struct POS.
...
It is never used.
Change-Id: If7462357c0498ed05af2645f0c272124381d3aab
2013-04-05 12:38:40 -07:00
Ronald S. Bultje
1cb34c32ed
Remove unused vpx_log() function prototype.
...
Change-Id: Icd6b4322841fefcc86f06645e6aaf1ea42fdfabd
2013-04-05 12:37:45 -07:00
Ronald S. Bultje
5cd235c6cd
Remove "tx_type" member from union b_mode_info.
...
It is never used.
Change-Id: Ibae898c52c766aabf65868611060f9c38fb85b35
2013-04-05 12:36:15 -07:00
Dmitry Kovalev
2c42499513
Segmentation code cleanup.
...
Cleaning up the code, removing unused vp9_check_segref_inter function and
useless comments.
Change-Id: Ia0e1a3878dc0f9789cba84aeb507a83d9dccd26b
2013-04-05 11:55:52 -07:00
Yaowu Xu
e79a3ff5f3
Removed a speed feature no longer used
...
Change-Id: Id0c2e44daa936f1d6fb76469fd1bd72a4d7c19fd
2013-04-05 10:43:20 -07:00
John Koleszar
98466e8962
Merge "Simplifying get_delta_q function." into experimental
2013-04-05 09:16:15 -07:00
John Koleszar
05a79f2fbf
Move EOB to per-plane data
...
Continue migrating data from BLOCKD/MACROBLOCKD to the per-plane
structures.
Change-Id: Ibbfa68d6da438d32dcbe8df68245ee28b0a2fa2c
2013-04-04 21:30:23 -07:00
John Koleszar
4c05a051ab
Move qcoeff, dqcoeff from BLOCKD to per-plane data
...
Start grouping data per-plane, as part of refactoring to support
additional planes, and chroma planes with other-than 4:2:0
subsampling.
Change-Id: Idb76a0e23ab239180c818025bae1f36f1608bb23
2013-04-04 16:30:57 -07:00
Yaowu Xu
9780d58e94
make one_shot_q an experiment
...
so it is configurable to faciliate testings
Change-Id: I247b62736c3a08ec2934793959d1ae605a05efa3
2013-04-04 14:14:51 -07:00
Deb Mukherjee
ffc92da4c2
Fixing the newbintramodes experiment
...
Adds back special casing B_PRED mode decoding but protected
within the experimental macro.
Change-Id: If98dc8e56b0ecfb1202540c2b7dfdd070cb81ca0
2013-04-04 12:40:55 -07:00
Dmitry Kovalev
52128c5894
Simplifying get_delta_q function.
...
Change-Id: I3a1e9cc5c3ed5be01ff75a84a6c82ec02c75af9c
2013-04-04 12:10:39 -07:00
Deb Mukherjee
a9e94301f7
Merge "Bugfix in encode_inter_mb_segment_8x8" into experimental
2013-04-04 11:17:48 -07:00
Deb Mukherjee
73031aaa7d
Bugfix in encode_inter_mb_segment_8x8
...
Fixes an indexing bug. Looks like the bug has been there for a while.
Change-Id: I9fc04b0c30754bcb47366ad94a08112925600c4d
2013-04-04 11:07:19 -07:00
Dmitry Kovalev
f857e074d7
Fixing bug introduced by previous commit.
...
Inside decode_sb_4x4 it should be
"get_tx_type_4x4(mb, y_idx * y_size + x_idx)"
but it was
"get_tx_type_4x4(mb, y_idx * (2 * y_size) + x_idx)".
Also making code of decode_sb_4x4, decode_sb_8x8, and decode_sb_16x16
formatted in the same way.
Change-Id: I15c7bef4fb575f7e9da19f953912324cb35d24dd
2013-04-04 10:49:17 -07:00
John Koleszar
ccc0577ab2
Merge "Remove special case vp9_decode_coefs_4x4" into experimental
2013-04-04 07:11:31 -07:00
Paul Wilkins
9b9136f8a2
Fixed incorrect use of compute_qdelta()
...
This function expects real Q values as inputs
not index values.
The use-age her impacts the Q chosen for force key
frames. Though this is a bug fix I have not yet verified
whether following the bug fix the q multiplier value used is
correct.
Change-Id: I49f6da894d90baeb1e86c820c335f02dc80d3b66
2013-04-04 10:19:16 +01:00
John Koleszar
74e8bd11c2
Merge "Adding decode_sb_16x16 function." into experimental
2013-04-03 21:07:53 -07:00
John Koleszar
4d9dbb2ae8
Merge "Reimplementation of setup_frame_size." into experimental
2013-04-03 21:04:29 -07:00
John Koleszar
0520833591
Merge "Adding setup_pred_probs and read_txfm_mode functions." into experimental
2013-04-03 21:02:59 -07:00
John Koleszar
cbd3b98dd8
Merge "General code cleanup." into experimental
2013-04-03 20:59:51 -07:00
Dmitry Kovalev
d5a017300c
General code cleanup.
...
Making code more readable in different places.
Change-Id: Iea92c9a35e64d257ee358879fc04fc926843d52e
2013-04-03 18:40:17 -07:00
Dmitry Kovalev
50e02b947a
Adding decode_sb_16x16 function.
...
Moving command code from decode_sb32 and decode_sb64 into new
decode_sb_16x16 function.
Change-Id: I57a161300af085557adec2fe600f3c10a145faf2
2013-04-03 18:37:28 -07:00
John Koleszar
4add99aa97
Merge "Motion vector decoder cleanup." into experimental
2013-04-03 18:00:31 -07:00
Dmitry Kovalev
19fb4df8fe
Motion vector decoder cleanup.
...
Better formatting, shorter code, adding read_switchable_filter_type
function.
Change-Id: Ib919b529385cae34c2d682b1c3093518b6942fc1
2013-04-03 17:43:45 -07:00
John Koleszar
1e5f25ecc8
Remove special case vp9_decode_coefs_4x4
...
This code was only called in the BPRED case, but had no real special
case associated with it. Made BPRED behave like all other modes. No
bitstream change.
Change-Id: I87ba11fe723928b6314d094979011228d5ba006f
2013-04-03 16:12:51 -07:00
Yunqing Wang
dcd3a5c055
Merge "Modify vp9_setup_interp_filters function" into experimental
2013-04-03 14:09:01 -07:00
Yunqing Wang
4ca882f32f
Modify vp9_setup_interp_filters function
...
Took vp9_setup_scale_factors_for_frame() out from
vp9_setup_interp_filters(), so that it is only called once per
frame instead of per macroblock. Decoder tests showed a 1.5%
performance gain.
Change-Id: I770cb09eb2140ab85132f82aed388ac0bdd3a0aa
2013-04-03 13:49:55 -07:00
Dmitry Kovalev
da0232fd59
Reimplementation of setup_frame_size.
...
General code cleanup in loopfilter code. Modification of setup_frame_size,
so now VP9_COMMON is modified in one place after all width/height checks
passed.
Change-Id: Iedf32df43a912d7aae788ed276ac6c429973f6fe
2013-04-03 12:21:47 -07:00
Dmitry Kovalev
59b2928d40
Adding setup_pred_probs and read_txfm_mode functions.
...
Decomposition vp9_decode_frame function, moving code into read_txfm_mode
and setup_pred_probs functions.
Change-Id: I90970dea43cbcef4d6d61fdef267c2094ddee65d
2013-04-03 12:18:15 -07:00
John Koleszar
30d83c4159
Merge "Fix overlapping writes by copy_and_extend_plane" into experimental
2013-04-03 11:54:29 -07:00
John Koleszar
7d67aed16c
Merge "Remove unused inplace idct_add functions" into experimental
2013-04-03 11:10:50 -07:00
John Koleszar
8b71b8a6de
Merge "Renaming sb32_coded and sb64_coded fields." into experimental
2013-04-02 21:49:03 -07:00
John Koleszar
dc12e6c0dc
Merge "Lower case names for struct members." into experimental
2013-04-02 21:27:32 -07:00
John Koleszar
f677b13fb4
Merge "Adding functions with common code for superblock decoding." into experimental
2013-04-02 20:18:13 -07:00
John Koleszar
ede03dfa48
Merge "Code cleanup in vp9_onyx_if.c." into experimental
2013-04-02 20:16:56 -07:00
Dmitry Kovalev
dca8ad178c
Renaming sb32_coded and sb64_coded fields.
...
Renaming sb32_coded to prob_sb32_coded and sb64_coded to prob_sb64_coded.
Change-Id: I6de5cad00a57c3e066d53467f8c38cb6073dce11
2013-04-02 18:21:55 -07:00