Commit Graph

422 Commits

Author SHA1 Message Date
Dmitry Kovalev
c34f6fcb54 Fixing upper case names.
Renaming Y1dequant to y_dequant, UVdequant to uv_dequant, QIndex to qindex.

Change-Id: I1c356e5f886deb3f8807dc212de9799b55b09d58
2013-04-09 10:46:57 -07:00
Jingning Han
b3935e8348 Merge "Clamp inferred motion vectors only" into experimental 2013-04-09 09:24:08 -07:00
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
Ronald S. Bultje
aeefa6e194 Fix typo which breaks 4x4 splitmv compound prediction RD code.
0.15% quality increase on derf, particularly noticeable on hard clips
at the higher bitrate end.

Change-Id: I02415a96eb9bbc361cba923069625fae71844bc9
2013-04-08 09:17:52 -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
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
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
John Koleszar
4d9dbb2ae8 Merge "Reimplementation of setup_frame_size." into experimental 2013-04-03 21:04:29 -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
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
John Koleszar
30d83c4159 Merge "Fix overlapping writes by copy_and_extend_plane" into experimental 2013-04-03 11:54:29 -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
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
John Koleszar
01247f67a7 Fix overlapping writes by copy_and_extend_plane
Broken by refactoring commit 180cd5faa5

Change-Id: I307f6e54d93219a31e7336f1633103ecb25e4832
2013-04-02 14:58:10 -07:00
John Koleszar
42db454c7f Merge branch 'master' into experimental
Conflicts:
	vp9/vp9_common.mk

Change-Id: I2cd5ab47dc31c4210cefc23a282102123d5e2221
2013-04-02 14:54:44 -07:00
Dmitry Kovalev
626635c271 Lower case names for struct members.
Lower case member names inside VP9D_CONFIG and VP9D_COMP structs.

Change-Id: I75af9ad2d929a35c357207a3fd9ebedddabf79c3
2013-04-02 13:34:20 -07:00
Johann
3db60c8c6c Demux vp9_loopfilter_x86.c
Allow more careful targeting of compiler flags.

Change-Id: I963ab4a6479dedb165419310dfca52a58a9877b8
2013-04-02 12:49:04 -07:00
Johann
6c147b9d93 vp9_sadmxn_x86 only contains SSE2 functions
Rename the file and clean up includes. In the future we would like to
pattern match the files which need additional compiler flags.

Change-Id: I2c76256467f392a78dd4ccc71e6e0a580e158e56
2013-04-02 11:20:55 -07:00
John Koleszar
49bc402a94 Merge "Code cleanup." into experimental 2013-04-01 21:12:56 -07:00
John Koleszar
a417a6e32c Merge "Removing redundant function arguments." into experimental 2013-04-01 21:09:48 -07:00
Dmitry Kovalev
e71248addc Code cleanup in block reconstruction code.
Adding recon, recond_sby and recon_sbuv functions.

Change-Id: I6050db233e792e73a3699d18b056eaef9c901d6d
2013-04-01 18:26:58 -07:00
Dmitry Kovalev
50e54c112d Code cleanup.
Adding multiple16 function, removing redundant code, better formatting.

Change-Id: I50195b78ac8ab803e3d05c8fb05a7ca134fab386
2013-04-01 18:23:04 -07:00
Deb Mukherjee
e3955007df Merge "Framework changes in nzc to allow more flexibility" into experimental 2013-03-29 15:57:27 -07:00
John Koleszar
edb1222acb Merge "Extracting common motion vector prediction code." into experimental 2013-03-29 10:43:38 -07:00
John Koleszar
2e181c2d0b Merge "General code cleanup." into experimental 2013-03-29 10:40:34 -07:00
Yaowu Xu
4b3e59ef0e Merge "define a specific neighborhood for SB64 mv search" into experimental 2013-03-29 09:26:14 -07:00
Yaowu Xu
cbc7ec55a5 Merge "remove code not in use" into experimental 2013-03-29 08:40:29 -07:00
Deb Mukherjee
c5840a8d8e Merge "Reoptimizing the interpolation filters" into experimental 2013-03-29 07:15:05 -07:00
Ronald S. Bultje
6cb2fcf601 Merge "Fix mix-up in pt token indexing." into experimental 2013-03-28 12:53:00 -07:00
Deb Mukherjee
fe9b5143ba Framework changes in nzc to allow more flexibility
The patch adds the flexibility to use standard EOB based coding
on smaller block sizes and nzc based coding on larger blocksizes.
The tx-sizes that use nzc based coding and those that use EOB based
coding are controlled by a function get_nzc_used().
By default, this function uses nzc based coding for 16x16 and 32x32
transform blocks, which seem to bridge the performance gap
substantially.

All sets are now lower by 0.5% to 0.7%, as opposed to ~1.8% before.

Change-Id: I06abed3df57b52d241ea1f51b0d571c71e38fd0b
2013-03-28 09:33:50 -07:00
Ronald S. Bultje
9eea9fa206 Fix mix-up in pt token indexing.
This fixes uninitialized reads in the trellis, and probably makes the
trellis do something again.

Change-Id: Ifac8dae9aa77574bde0954a71d4571c5c556df3c
2013-03-28 09:24:29 -07:00
Yaowu Xu
48104f0dfa define a specific neighborhood for SB64 mv search
Change-Id: Ifda91d697c5970c65ce3ec1feac5562124f91782
2013-03-27 16:34:45 -07:00
Dmitry Kovalev
17cddb4e26 Removing redundant function arguments.
Almost all arguments for vp9_build_inter32x32_predictors_sb and
vp9_build_inter64x64_predictors_sb can be deduced from the first macroblock
argument.

Change-Id: I5d477a607586d05698d5b3b9b9bc03891dd3fe83
2013-03-27 16:19:27 -07:00
Dmitry Kovalev
52ccff4719 Extracting common motion vector prediction code.
Adding b_mv_pred_row and b_mv_pred_col functions, updating
mi_mv_pred_row and mi_mv_pred_row functions.

Change-Id: I9af068442d4474478375943cc6fce1605d6fc0a5
2013-03-27 14:35:36 -07:00
Dmitry Kovalev
180cd5faa5 General code cleanup.
Removing redundant code, lower case variable names, better indentation,
better parameter names, adding const to readonly parameters.

Change-Id: Ibfdee00f60316fdc5b3f024028c7aaa76a627483
2013-03-27 14:22:30 -07:00
John Koleszar
9ba8aed179 Merge "Extract setup_frame_size and update_frame_context functions." into experimental 2013-03-27 14:21:57 -07:00
Dmitry Kovalev
8c69c193b5 Extract setup_frame_size and update_frame_context functions.
Extracting setup_frame_size and update_frame_context functions. Introducing
vp9_read_prob function as shortcut for (vp9_prob)vp9_read_literal(r, 8).

Change-Id: Ia5c68fd725b2d1b9c5eb20f69cacb62361b5a3dd
2013-03-27 14:04:35 -07:00
Yunqing Wang
c6c0657c60 Modify idct code to use macro
Small modification of idct code.

Change-Id: I5c4e3223944c68e4ccf762f6cf07c990250e4290
2013-03-27 12:36:08 -07:00