Commit Graph

4664 Commits

Author SHA1 Message Date
Dmitry Kovalev
9713a68719 Renaming refresh_entropy_probs to refresh_frame_context.
Change-Id: I5429c02246d198eb1b6aadbc3313b26bf3436062
2013-04-26 14:39:58 -07:00
Johann
9e23bd5df5 Merge "Merge branch 'master' into experimental" into experimental 2013-04-26 13:35:28 -07:00
Johann
32a5c52856 Merge branch 'master' into experimental
Conflicts:
	vp9/common/vp9_findnearmv.c
	vp9/common/vp9_rtcd_defs.sh
	vp9/decoder/vp9_decodframe.c
	vp9/decoder/x86/vp9_dequantize_sse2.c
	vp9/encoder/vp9_rdopt.c
	vp9/vp9_common.mk

Resolve file name changes in favor of master. Resolve rdopt changes in
favor of experimental, preserving the newer experiments.

Change-Id: If51ed8f457470281c7b20a5c1a2f4ce2cf76c20f
2013-04-26 12:57:10 -07:00
Dmitry Kovalev
5a5a1f25a8 Consistent names for quant-related functions and variables.
Change-Id: I3a6d601e90e8740b9c26dd0afbfe9d467b75d367
2013-04-26 12:30:20 -07:00
Ronald S. Bultje
1a46b30ebe Grow MODE_INFO array to use an 8x8 basis.
Change-Id: I087e08e7909a406b71715b8525c104208daa6889
2013-04-26 11:57:17 -07:00
Dmitry Kovalev
eea1fecd06 Merge "Code cleanup inside vp9_decodframe.c." into experimental 2013-04-26 11:35:25 -07:00
John Koleszar
ac22bb6fde Merge changes I7ff2fa72,I7907230d into experimental
* changes:
  Remove BLOCKD structure
  Remove destination pointers from BLOCKD
2013-04-26 11:26:18 -07:00
John Koleszar
80fadb261e Merge "Restore vp9_asm_enc_offsets.c" into experimental 2013-04-26 10:49:45 -07:00
John Koleszar
bb41ab4a0c Remove BLOCKD structure
All members can be referenced from their per-plane counterparts, and
removes assumptions about 24 blocks per macroblock.

Change-Id: I7ff2fa72d22c29163eb558981c8193765a8113d9
2013-04-26 10:35:54 -07:00
John Koleszar
4f55c5618a Remove destination pointers from BLOCKD
Access these members from MACROBLOCKD instead.

Change-Id: I7907230dd473ff12ebe182b9280d8b7f12a888c4
2013-04-26 10:14:07 -07:00
John Koleszar
34324a98e7 Restore vp9_asm_enc_offsets.c
The previous commit 15255ee "Move dequant from BLOCKD to per-plane MACROBLOCKD"
removed the vp9_asm_enc_offsets.c file, but didn't update the various secondary
build systems that special case these files. Restore it for now, to ensure any
in-progress changes and builds continue working, to allow time to more carefully
coordinate removal of these files.

Change-Id: I24b78db3fb874d5fbd226548b7366a05ed98e536
2013-04-26 10:01:49 -07:00
changjun.yang
e58852582d code cleanup for arm_cpudetect.c
Change-Id: I5c49a983ced45197e1035fa5615d71b0bdad4109
2013-04-26 09:34:34 -07:00
John Koleszar
4b27eb1f18 Merge "quantize: make 4x4, 8x8 common with larger transforms" into experimental 2013-04-26 09:08:49 -07:00
Scott LaVarnway
57f180b388 Removed bmi from blockd
This originally was "Removed update_blockd_bmi()".  Now,
this patch removed bmi from blockd and uses the bmi found
in mode_info_context.  Eliminates unnecessary bmi copies between
blockd and mode_info_context.

Change-Id: I287a4972974bb363f49e528daa9b2a2293f4bc76
2013-04-26 10:19:43 -04:00
Johann
9981006da0 Merge "Normalize more intrinsic filenames" 2013-04-25 23:30:41 -07:00
Johann
863601c589 Normalize more intrinsic filenames
vp9_dequantize_x86 has only sse2 functions.

vp9_dct_sse2_intrinsics has no namespace collision and can drop
_intrinsics.

vp9_idct_mmx.h is unused.

Change-Id: Ic16e31fb372a1d1e841a62ecb4189fe8f95808ec
2013-04-25 23:26:20 -07:00
Dmitry Kovalev
b442dfd4f5 Code cleanup inside vp9_decodframe.c.
Change-Id: I8447565feeadda1a4a06df907b0156728b1ad5bf
2013-04-25 14:59:02 -07:00
John Koleszar
a672351af9 quantize: make 4x4, 8x8 common with larger transforms
There were 4 variants of the quantize loop in vp9_quantize.c, now
there is 1.

Change-Id: Ic853393411214b32d46a6ba53769413bd14e1cac
2013-04-25 14:44:54 -07:00
Ronald S. Bultje
18f29ff581 Remove duplicate code in RD handle_inter_mode() function.
Change-Id: I552d53f7e7331e9246d8a32d6c6dcc0cfa0cbeb0
2013-04-25 14:21:21 -07:00
Ronald S. Bultje
8d028402d7 Remove implicit assumption that mode_info_stride == mb_cols + 1.
Change-Id: I3030d7adac73109aeaa1ecc0f78ac968c092d9aa
2013-04-25 14:21:01 -07:00
Ronald S. Bultje
811f80ca25 Remove write-only variables that store refframe, signbias and mv.
These were superseeded by prev_mip.

Change-Id: Ide240475350ce003d68aa990eddc2ee30920663a
2013-04-25 14:21:01 -07:00
Ronald S. Bultje
c849eaca59 Use b_width/height_log2 instead of mb_ where appropriate.
Basic assumption: when talking about transform units, use b_; when
talking about macroblock indices, use mb_.

Change-Id: Ifd163f595d4924ff892de4eb0401ccd56dc81884
2013-04-25 14:20:59 -07:00
Johann
e292330e5b Merge "Change default iOS dev path" 2013-04-25 13:29:40 -07:00
John Koleszar
e40a769036 Fix incorrect dequant used in detokenize
The quantizer can vary per-plane, and the dequantization vector is
available in the per-plane part of MACROBLOCKD. The previous code would
incorrectly use the Y quantizer for the whole macroblock.

Change-Id: I3ab418aef9168ea0ddcfa4b7c0be32ae48b536d7
2013-04-25 12:08:32 -07:00
John Koleszar
a99e1aa8ca Remove predictor pointers from BLOCKD
Access these members from MACROBLOCKD instead.

Change-Id: I2574622e577bb9feede47f6b7ccbb11f3e928ca8
2013-04-25 12:04:07 -07:00
John Koleszar
6c0c6b86c1 Remove diff from BLOCKD
The underlying storage for these buffers is in the per-plane MACROBLOCKD
area, so read it from there directly.

Change-Id: Id6bd835117fdd9dea07db95ad06eff9f12afaaf7
2013-04-25 11:57:22 -07:00
John Koleszar
15255eef82 Move dequant from BLOCKD to per-plane MACROBLOCKD
This data can vary per-plane, but not per-block.

Change-Id: I1971b0b2c2e697d2118e38b54ef446e52f63c65a
2013-04-25 11:57:20 -07:00
John Koleszar
4bd0f4f646 Remove BLOCK structure
All members can be referenced from their per-plane counterparts, and
removes assumptions about 24 blocks per macroblock.

Change-Id: I593fb0715e74cd84b48facd1c9b18c3ae1185d4b
2013-04-25 11:33:17 -07:00
Johann
c5b127afea Rename vp9_idct_x86.c
Remove similarly named header file. It is obsolete.

Move file to match naming style.

Adjust make file to include the file correctly and remove extra
unnecessary #if guard.

Change-Id: Ifba07ba9938a5df08a9f4eda54a3ac4d6983f7bf
2013-04-25 11:13:02 -07:00
Dmitry Kovalev
61a47da869 Adding is_inter_mode function.
Change-Id: I2d32d46002cb92c63050c2b8328865c406103621
2013-04-25 10:23:00 -07:00
Dmitry Kovalev
2cf0675a52 Merge "Removing unused mi_mv_pred_row and mi_mv_pred_col functions." into experimental 2013-04-25 10:18:07 -07:00
Dmitry Kovalev
9b081e6807 Merge "Using ROUND_POWER_OF_TWO macro inside vp9_loopfilter_filters.c." into experimental 2013-04-25 10:17:54 -07:00
Dmitry Kovalev
22c6ce03fa Merge "Handling frame references and scale factors in one for loop." into experimental 2013-04-25 10:17:34 -07:00
Jingning Han
b42b41c856 Merge "Move sbsegment out of experimental list" into experimental 2013-04-25 09:18:01 -07:00
Scott LaVarnway
a426c7f343 Merge "Moved dequantization into the token decoder" into experimental 2013-04-25 08:53:42 -07:00
Dmitry Kovalev
994c79cccf Handling frame references and scale factors in one for loop.
Using ALLOWED_REFS_PER_FRAME constants instead of hard coded 3, replacing
memcpy with plain struct assignment.

Change-Id: Ibc86f5d175fcb3f3a3eddacf593525370f1f854c
2013-04-24 17:20:53 -07:00
Yaowu Xu
bcf82cf503 Merge two similar functions into one
Function set_mb_row() and set_mb_col() do similar work and are always
called together, this commit merged them into a single function for
clarity and easy maintainence.  This was a TODO item.

Change-Id: I956bd9ed6afb8b2b0469b20fd8bc893b26f8a0f3
2013-04-24 15:58:03 -07:00
Dmitry Kovalev
a2d46434b5 Merge "Fixing PRED_SWITCHABLE_INTERP case in vp9_get_pred_context function." into experimental 2013-04-24 15:44:39 -07:00
Jingning Han
b0e3b3df18 Move sbsegment out of experimental list
Move rectangular superblock coding out of experimental list.

Change-Id: I96c37547d122330d666a67b4bf577ae54547857f
2013-04-24 15:19:17 -07:00
Johann
53a4620271 Change default iOS dev path
This can be manually overridden with --libc=

Change-Id: I0b857c751d5dc5423f79785e934bc8a714758e75
2013-04-24 14:26:35 -07:00
Jingning Han
ff2b8aa2c9 Contextual entropy coding of partition syntax
This commit enables selecting probability models for recursive block
partition information syntax, depending on its above/left partition
information, as well as the current block size. These conditional
probability models are reasonably stationary and consistent across
frames, hence the backward adaptive approach is used to maintain and
update the contextual models.

It achieves coding performance gains (on top of enabling rectangular
block sizes):
derf:   0.242%
yt:     0.391%
hd:     0.376%
stdhd:  0.645%

Change-Id: Ie513d9673337f0d27abd65fb566b711d0844ec2e
2013-04-24 14:23:14 -07:00
Dmitry Kovalev
2e3f3e4fbb Using ROUND_POWER_OF_TWO macro inside vp9_loopfilter_filters.c.
Change-Id: Icb671cd011f645a3361684207840d14330ca7488
2013-04-24 11:50:49 -07:00
Ronald S. Bultje
41a8a95bd1 Merge "Change chroma loopfilter to skip inner SB edges for tx16x16 also." into experimental 2013-04-24 11:45:26 -07:00
Ronald S. Bultje
4149ba1cbf Merge "Minor indent changes in loopfilter code." into experimental 2013-04-24 11:45:19 -07:00
Ronald S. Bultje
cc7ce53140 Merge "Add basic building blocks for 8x8 superblocks experiment." into experimental 2013-04-24 11:45:13 -07:00
Dmitry Kovalev
bd994ed42d Fixing PRED_SWITCHABLE_INTERP case in vp9_get_pred_context function.
Adding xd->up_available as additional check for above context.

Change-Id: If5654e4cae184b9c369b7b2e08076cb2951d00ed
2013-04-24 10:45:32 -07:00
Johann
9fca79c008 Merge "Rename quantize_sse2_intrinsics.c" 2013-04-24 10:10:55 -07:00
Ronald S. Bultje
5b57580cd9 Change chroma loopfilter to skip inner SB edges for tx16x16 also.
Change-Id: I6ea9e110b5c5b07ab7d092886dbd51a6eccc0217
2013-04-24 09:45:43 -07:00
Paul Wilkins
6579720e6a Merge "Extension of segmentation to 8 segments." into experimental 2013-04-24 09:44:48 -07:00
Paul Wilkins
e307e924b5 Merge "Simplify Segment Coding" into experimental 2013-04-24 09:43:01 -07:00