Commit Graph

5228 Commits

Author SHA1 Message Date
John Koleszar
1fa04e1a03 Merge changes I86fe51b0,I4c9a9e0f
* changes:
  Remove unused vp9_idct_add_{y,uv}_block
  Remove some unused loopfilter code
2013-06-12 13:43:30 -07:00
Johann
bbd5cb2bd4 Merge "Fix compile warnings on windows." 2013-06-12 13:36:50 -07:00
John Koleszar
495ff8e0c7 Merge "Enable mmx loop filter routines" 2013-06-12 12:52:04 -07:00
Ronald S. Bultje
b55f8b696a Merge "Fix row tiling." 2013-06-12 12:41:57 -07:00
John Koleszar
ad3b12f857 Merge "Fix chroma output when scaling" 2013-06-12 12:39:10 -07:00
John Koleszar
ceee4563d6 Remove unused vp9_idct_add_{y,uv}_block
These functions are not used, and appear to have been superceded.

Change-Id: I86fe51b088264f6b1b8d4d232bba97b371b98120
2013-06-12 12:24:22 -07:00
Jingning Han
1a5bb3cc76 Fix the comments in boundary block partition check
Change-Id: Ic6b2881d8d495269edbc514b33376ca963798b45
2013-06-12 12:05:06 -07:00
John Koleszar
8933a652fc Remove some unused loopfilter code
This code is unreachable, and not useful for later reference.

Change-Id: I4c9a9e0fbf859c1081bbcfbcda9710afb4b4741f
2013-06-12 11:36:00 -07:00
Frank Galligan
4524548f80 Fix compile warnings on windows.
Change-Id: If74bc6110016bc75ea3883ab136fbbac88f6a913
2013-06-12 11:34:15 -07:00
Yaowu Xu
16b876fb63 Merge "Quick fix to stop vpxdec infinite loop" 2013-06-12 11:28:46 -07:00
John Koleszar
0e1e16db90 Enable mmx loop filter routines
The mmx routines work as expected for the loop filter, so enable them.

Change-Id: I2bbd9b99a4445fcba17bb95002f1fb6e01fe8f85
2013-06-12 11:28:21 -07:00
Scott LaVarnway
9dead02b09 Quick fix to stop vpxdec infinite loop
vpxdec stays in a loop when decoding vp9.  This patch is a
quick fix to stop the loop when all data has been decoded.
Eventually we should move the vp9_get_raw_frame() call into
vp8_get_frame().

Change-Id: I3f97b6b4e1fe9ba69f746a29fc54c3304956f661
2013-06-12 13:46:47 -04:00
Ronald S. Bultje
8a0808a145 Fix row tiling.
Change-Id: I57be4eeaea6e4402f6a0cc04f5c6b7a5d9aedf9b
2013-06-12 13:42:59 -04:00
Yaowu Xu
efe05b7437 fix a mis use of ref_frame
Change-Id: I9aac140d775b7b4a8727494d15b185b75501a546
2013-06-12 10:32:38 -07:00
John Koleszar
01016ff9a6 Fix chroma output when scaling
The encode-side scaling was not indexing through the image correctly
for the chroma planes, causing a green checkerboard-like output in
the unit test.

Change-Id: I9abbd73615404cd6699588be3e64dcf59005bc14
2013-06-12 10:11:53 -07:00
Frank Galligan
15f9077ee2 Fix duplicate const.
Change-Id: I86be1f7421ed49d577cacf405f6e4b0daa85cfdc
2013-06-12 08:52:34 -07:00
John Koleszar
03b412d044 VP9 profile 0 release candidate
Merge experimental branch into master

Change-Id: Ie5f89fb977d28a4d98a8dcdf1c6eb97271a3c1db
2013-06-11 18:19:18 -07:00
John Koleszar
d0ed677a34 Merge branch 'master' into experimental
Change-Id: Ie648398b82f7311143709f55c0e30ba452f50eff
2013-06-11 16:29:28 -07:00
John Koleszar
76e0c95dd9 Trap reference frames of invalid size
A corrupt bitstream could refer to a reference frame that has no size.

Change-Id: I56c3b71a9dbb58b498e9969403e289c0e574f948
2013-06-11 15:16:38 -07:00
John Koleszar
2bcc473602 decode_tiles(): validate buffer reads
Previous code indexed using the tile length coded in the bitstream
without checking that the read would be valid.

Change-Id: Ia5047762223a4f80d75016dd546dc2ef18b6887d
2013-06-11 14:52:32 -07:00
Deb Mukherjee
e3d3ace314 Merge "Minor change in forward updates" into experimental 2013-06-11 12:48:41 -07:00
John Koleszar
47f10df899 Merge "Fix mismatch check output" into experimental 2013-06-11 12:29:08 -07:00
John Koleszar
0b792cf97f Merge "Disallow wide loopfilter on some chroma borders" into experimental 2013-06-11 12:29:03 -07:00
John Koleszar
cc0eeda6dd Fix mismatch check output
Fixes a condition where the address of the mismatching pixels was not
being found/printed.

Change-Id: Ifac5cd3471bc2437448128591eea7c7b87e2d8fe
2013-06-11 11:28:38 -07:00
John Koleszar
9831f20594 Disallow wide loopfilter on some chroma borders
Don't do the 15 tap filter if there aren't 8 pixels below/right of the
edge.

Change-Id: I62f16437c1d9ba59b6901a5fe71ddb2f472da344
2013-06-11 11:28:38 -07:00
Deb Mukherjee
a4d906c132 Minor change in forward updates
Removes the case of coding prob = 0 for forward updates, since that
is not an allowed probability to code.
Slightly improves efficiency but may not matter in practice.

Change-Id: I3b4caf82e8f0891992f0706d4089cc5a27568dba
2013-06-11 10:33:07 -07:00
Jim Bankoski
fca6c82b29 Fix rd partition search for corner blocks
This commit enables proper partition type search for the bottom-
right corner blocks.

Change-Id: Id1123d0e4e81eba648ed4f3c0c7ab587e174f650
2013-06-11 09:29:21 -07:00
Johann
a43bdcd7b0 Merge "halloc: Cast the offsetof macro to ptrdiff_t before negating" 2013-06-11 08:18:46 -07:00
Jingning Han
551f37d63d Fix partition coding of corner block
This commit fixed the allowable partition types for bottom-right
corner blocks.

When a block has over half of its pixels as valid content in both
vertical and horizontal directions, allow all the four partition
types in the bit-stream. Otherwise, apply partition type constraints.

Change-Id: I2252e2de7125a8bfb1c824bf34299a13c81102e3
2013-06-10 21:43:17 -07:00
Deb Mukherjee
f18328cbf1 Adds a zero check in model_rd function
Avoids divide-by-zero when variance is 0.

Change-Id: I3c7f526979046ff7d17714ce960fe81d6e1442a0
2013-06-10 17:04:47 -07:00
John Koleszar
9b78ed8229 Merge "Using network byte order (big-endian) to encode tile size." into experimental 2013-06-10 16:48:11 -07:00
Deb Mukherjee
51a7c7631d Merge "New probs for filters/tx_size and a few others" into experimental 2013-06-10 16:39:43 -07:00
Deb Mukherjee
a43ff15399 New probs for filters/tx_size and a few others
* New probs for subpel filters/tx_count
* Makes a change to not reset to defaults for the tx_size
probs if an intermediate frame reverts to using a fixed tx_size.
* A few updates to the parameters for backward adaptation for mode/mv
* some cosmetic cleanups

derf300: +0.06%

Change-Id: I22994d659bc31ca7a4fc8820fde24001e64a2920
2013-06-10 16:38:47 -07:00
John Koleszar
091e23c3e6 Merge "Remove remnants of VP8 profiles/versions" into experimental 2013-06-10 16:16:17 -07:00
Dmitry Kovalev
85381e3416 Using network byte order (big-endian) to encode tile size.
This is consistent with uncompressed header encoding.

Change-Id: Iccf40a44b493ed36ee085b81ed56f7952cde70a9
2013-06-10 16:13:08 -07:00
John Koleszar
0fcb625e35 Remove remnants of VP8 profiles/versions
Remove the bilinear filter mode, and the no-loopfilter mode, and the
related vp9_setup_version() function.

Change-Id: I32311367812faf37863131df3af37d63d03973d7
2013-06-10 15:55:03 -07:00
Jim Bankoski
ba2af976cb print debugging info from mode info struct
This commit has no impact but to help us debug issues.   To Use call like
this:

  vp9_print_modes_and_motion_vectors(cpi->common.mi, cpi->common.mi_rows,
                                     cpi->common.mi_cols,
                                     cpi->common.current_video_frame,
                                     "decode_mi.stt");

Change-Id: I89e27725dae351370eb7f311a20a145ed4f1d041
2013-06-10 14:03:17 -07:00
John Koleszar
c0e561d15e Fix a crash in vpxdec
If the codec fails to return a frame on the second frame (as in a VP8 alt-ref,
then img will be a null pointer and dereferencing it while trying to write
the color format (again) will crash.

Change-Id: Ie48710d4c5715f532d453c879c71c20ccdeb81cc
2013-06-10 12:46:14 -07:00
John Koleszar
44db42c114 Merge the new loopfilter experiment
Change-Id: I524ba98841f2e1850e3276ac365c501cea31546d
2013-06-10 12:30:12 -07:00
John Koleszar
c37a1e5ef2 Merge "Loopfilter: Fix chroma edge selection" into experimental 2013-06-10 12:17:24 -07:00
John Koleszar
2f3cbfdde1 Merge "Fix use of get_uv_tx_size in loopfilter" into experimental 2013-06-10 12:17:11 -07:00
Adrian Grange
c4e5b77d74 Merge "Implement intra-coded frames" into experimental 2013-06-10 12:08:09 -07:00
Deb Mukherjee
995ce523eb Cosmetic cleanups of filters
No bitstream change.

Removes unused filters and the code for the case of 2 switchable filters;
also changes the 8tap-smooth filter coefficients for integer shifts to be
interpolating to be consistent with the way it is implemented currently.

Change-Id: I96c542fd8c06f4e0df507a645976f58e6de92aae
2013-06-10 12:06:36 -07:00
Adrian Grange
eac344ef10 Implement intra-coded frames
Implements ability to signal and decode frames that are
encoded using only intra coding modes. Only the decode
side has been implemented here.

Change-Id: I53ac6a8d90422cd08ba389e5236e15b45f9e93de
2013-06-10 11:43:16 -07:00
John Koleszar
48b7cbcac5 Loopfilter: Fix chroma edge selection
A 32x32 transform should have no internal filtering (check c==4)

Change-Id: I7414cf4748ed053208217692ef00cd8b20d49a91
2013-06-10 11:40:57 -07:00
John Koleszar
717d744a01 Fix use of get_uv_tx_size in loopfilter
Change the argument of get_uv_tx_size() to be an MBMI pointer, so that the
correct column's MBMI can be passed to the function.

Change-Id: Ied6b8ec33b77cdd353119e8fd2d157811815fc98
2013-06-10 11:40:57 -07:00
Paul Wilkins
de6ec27d1a Rd check on segment level reference mode.
Do not allow the rd code to check compound modes if
a segment level reference frame is selected.

Change-Id: I95f0c57789e0eaceed7caf227e94b4ba3130a06c
2013-06-10 11:03:15 -07:00
Ronald S. Bultje
b12a8dac98 Allow non-zeromv if ref_frame=intra with segmentation skip/ref enabled.
Change-Id: Ib5a95bb6ab643b276df3faa9bf99595e4a69ff18
2013-06-10 10:55:10 -07:00
Ronald S. Bultje
eedd98ac0a Fix crash on RD iterations with segmentation enabled.
Change-Id: I3baf93c2fa5c2f7f45c6bc5514d317040975da71
2013-06-10 10:42:09 -07:00
John Koleszar
ec38b6150d Merge "Fixed point reference picture scaling" into experimental 2013-06-10 09:45:34 -07:00