]> granicus.if.org Git - libvpx/log
libvpx
11 years agoRemoving unused mi_mv_pred_row and mi_mv_pred_col functions.
Dmitry Kovalev [Tue, 23 Apr 2013 23:34:22 +0000 (16:34 -0700)]
Removing unused mi_mv_pred_row and mi_mv_pred_col functions.

Change-Id: If8ba37bf0b86e8dea88c27d911e8ddb0f6d5a3c5

11 years agoMerge "Move src_diff to per-plane MACROBLOCK data" into experimental
John Koleszar [Tue, 23 Apr 2013 23:24:08 +0000 (16:24 -0700)]
Merge "Move src_diff to per-plane MACROBLOCK data" into experimental

11 years agoMerge changes I54acef34,I72d42971 into experimental
Ronald S. Bultje [Tue, 23 Apr 2013 22:29:19 +0000 (15:29 -0700)]
Merge changes I54acef34,I72d42971 into experimental

* changes:
  Make some sb_type comparisons independent of literal enum values.
  Make loopfilter aware of rectangular blocks.

11 years agoMerge "Adding select_txfm_size function + vp9_decode_frame cleanup." into experimental
Dmitry Kovalev [Tue, 23 Apr 2013 20:53:14 +0000 (13:53 -0700)]
Merge "Adding select_txfm_size function + vp9_decode_frame cleanup." into experimental

11 years agoMerge "Remove the unused gf_active_ptr from MACROBLOCK" into experimental
Jingning Han [Tue, 23 Apr 2013 20:52:50 +0000 (13:52 -0700)]
Merge "Remove the unused gf_active_ptr from MACROBLOCK" into experimental

11 years agoRemove the unused gf_active_ptr from MACROBLOCK
Jingning Han [Tue, 23 Apr 2013 19:59:33 +0000 (12:59 -0700)]
Remove the unused gf_active_ptr from MACROBLOCK

The variable gf_active_ptr is not used anywhere, hence is removed.

Change-Id: I6badc20fade48ae12fd19e7e4cd8fe5e051c20ac

11 years agoMerge "Adding get_scan_{4x4, 8x8, 16x16} functions." into experimental
Dmitry Kovalev [Tue, 23 Apr 2013 19:44:51 +0000 (12:44 -0700)]
Merge "Adding get_scan_{4x4, 8x8, 16x16} functions." into experimental

11 years agoMake some sb_type comparisons independent of literal enum values.
Ronald S. Bultje [Tue, 23 Apr 2013 18:29:12 +0000 (11:29 -0700)]
Make some sb_type comparisons independent of literal enum values.

Change-Id: I54acef342b8e787e05af0febd7cf0d7d10288383

11 years agoMake loopfilter aware of rectangular blocks.
Ronald S. Bultje [Tue, 23 Apr 2013 19:32:32 +0000 (12:32 -0700)]
Make loopfilter aware of rectangular blocks.

Also use explicitely named enum values in sb_type comparisons, rather
than relying on absolute integer values, because enum values may
change in the future.

Change-Id: I72d42971a98157af93413a25ac2c7e6f9b369cec

11 years agoMove src_diff to per-plane MACROBLOCK data
John Koleszar [Tue, 23 Apr 2013 15:26:10 +0000 (08:26 -0700)]
Move src_diff to per-plane MACROBLOCK data

First in a series of commits making certain MACROBLOCK members
addressable per-plane. This commit also refactors the block subtraction
functions vp9_subtract_b, vp9_subtract_sby_c, etc to be
loops-over-planes and variable subsampling aware.

Change-Id: I371d092b914ae0a495dfd852ea1a3d2467be6ec3

11 years agoRemove unused corner_predictor and log2_minus_1 functions.
Ronald S. Bultje [Tue, 23 Apr 2013 18:19:39 +0000 (11:19 -0700)]
Remove unused corner_predictor and log2_minus_1 functions.

Change-Id: Ic659544ca12b1bc191b93ddfa378964bd133bfc9

11 years agoRemove unused stuffing function.
Ronald S. Bultje [Tue, 23 Apr 2013 18:18:42 +0000 (11:18 -0700)]
Remove unused stuffing function.

Change-Id: I2bc8d775f8d698bf8582f4eecabc2329452e8d9b

11 years agoMerge "Eliminated prev_mip memsets/memcpys" into experimental
Scott LaVarnway [Tue, 23 Apr 2013 17:22:13 +0000 (10:22 -0700)]
Merge "Eliminated prev_mip  memsets/memcpys" into experimental

11 years agoRemoving configure option for implicit wtd pred
Deb Mukherjee [Tue, 23 Apr 2013 06:24:06 +0000 (23:24 -0700)]
Removing configure option for implicit wtd pred

Change-Id: Ibe0628905925fc81bbb192651276f417c2aa7552

11 years agoMerge "Removing the implicit compound inter experiment" into experimental
Deb Mukherjee [Tue, 23 Apr 2013 06:22:28 +0000 (23:22 -0700)]
Merge "Removing the implicit compound inter experiment" into experimental

11 years agoRemoving the implicit compound inter experiment
Deb Mukherjee [Mon, 22 Apr 2013 23:29:34 +0000 (16:29 -0700)]
Removing the implicit compound inter experiment

Removing this experiment for now, since it has been broken with
the latest code changes.

Change-Id: I1be2181b56de490fcb577f5905b5e147a8ed82d8

11 years agoMerge "new version of speed 1" into experimental
Jim Bankoski [Mon, 22 Apr 2013 23:42:33 +0000 (16:42 -0700)]
Merge "new version of speed 1" into experimental

11 years agonew version of speed 1
Jim Bankoski [Mon, 22 Apr 2013 22:42:41 +0000 (15:42 -0700)]
new version of speed 1

This version of speed 1 only disables modes at higher resolution that
had distortions >2x the best mode we found...

The hope is that this could be a replacement for speed 0 ...

Change-Id: I7421f1016b8958314469da84c4dccddf25390720

11 years agoAdding select_txfm_size function + vp9_decode_frame cleanup.
Dmitry Kovalev [Mon, 22 Apr 2013 21:39:21 +0000 (14:39 -0700)]
Adding select_txfm_size function + vp9_decode_frame cleanup.

Change-Id: I7594ca84106ee48f83e6fc3098c0de7a28d5a183

11 years agoAdding get_scan_{4x4, 8x8, 16x16} functions.
Dmitry Kovalev [Mon, 22 Apr 2013 21:08:41 +0000 (14:08 -0700)]
Adding get_scan_{4x4, 8x8, 16x16} functions.

Change-Id: Id4306ef6d65d4a3984aed50b775bdf48d4f6c438

11 years agoMerge "Bugfix from reordering frame probs patch" into experimental
Deb Mukherjee [Mon, 22 Apr 2013 19:59:51 +0000 (12:59 -0700)]
Merge "Bugfix from reordering frame probs patch" into experimental

11 years agoBugfix from reordering frame probs patch
Deb Mukherjee [Mon, 22 Apr 2013 19:43:12 +0000 (12:43 -0700)]
Bugfix from reordering frame probs patch

This fixes an intermittent mismatch issue cause by moving
the lossless mode decoding bit to after the loop filter
setup information. We need to ensure that the lossless bit
is decoded prior to loop filter setup.

Change-Id: I3faa3fff8e1013b7405dac91268350e059ed121e

11 years agoRemove vp9_recon_intra_mbuv
John Koleszar [Sat, 20 Apr 2013 21:17:57 +0000 (14:17 -0700)]
Remove vp9_recon_intra_mbuv

Use common vp9_recon_sbuv instead.

Change-Id: I146f79adfdfda2b52257a52fa783727f12afa246

11 years agoRewrite vp9_recon_sb*
John Koleszar [Sat, 20 Apr 2013 20:50:22 +0000 (13:50 -0700)]
Rewrite vp9_recon_sb*

Rewrite vp9_recon_sb{,y,uv} to be a loop over planes.

Change-Id: Ica2bbbb3105a1d29b2ff2ead07b76cde9683154c

11 years agoMove pre, second_pre to per-plane MACROBLOCKD data
John Koleszar [Sat, 20 Apr 2013 02:16:14 +0000 (19:16 -0700)]
Move pre, second_pre to per-plane MACROBLOCKD data

Continue moving framebuffers to per-plane data.

Change-Id: I237e5a998b364c4ec20316e7249206c0bff8631a

11 years agoMerge "Removes the code_nonzerocount experiment" into experimental
Deb Mukherjee [Mon, 22 Apr 2013 18:53:14 +0000 (11:53 -0700)]
Merge "Removes the code_nonzerocount experiment" into experimental

11 years agoRemoves the code_nonzerocount experiment
Deb Mukherjee [Mon, 22 Apr 2013 17:58:49 +0000 (10:58 -0700)]
Removes the code_nonzerocount experiment

This patch does not seem to give any benefits.

Change-Id: I9d2b4091d6af3dfc0875f24db86c01e2de57f8db

11 years agoMerge "End of orientation zero group experiment" into experimental
Deb Mukherjee [Mon, 22 Apr 2013 17:33:12 +0000 (10:33 -0700)]
Merge "End of orientation zero group experiment" into experimental

11 years agoEnd of orientation zero group experiment
Deb Mukherjee [Thu, 28 Mar 2013 17:42:23 +0000 (10:42 -0700)]
End of orientation zero group experiment

Adds an experiment that codes an end-of-orientation symbol
for every eligible zero encountered in scan order.

This cleans out various other sub-experiments that were part
of the origiinal patch, which will be later included if found
useful.

Results are slightly positive on all sets (0.1 - 0.2% range).

Change-Id: I57765c605fefc7fb9d1b57f1b356843602abefaf

11 years agoreconinter: remove unnecessary functions, params
John Koleszar [Fri, 19 Apr 2013 17:45:50 +0000 (10:45 -0700)]
reconinter: remove unnecessary functions, params

Removes the redundant dst pointers from vp9_build_inter_predictors_sb{y,uv}
and the remaining mb specific functions.

Change-Id: I7b6bf439d9394b85ea79b4fe61a3ffc1025720da

11 years agoMerge "make DC_PRED for i4x4 to use real pixels only" into experimental
Paul Wilkins [Mon, 22 Apr 2013 12:10:36 +0000 (05:10 -0700)]
Merge "make DC_PRED for i4x4 to use real pixels only" into experimental

11 years agoMerge "Reordering frame header probs." into experimental
Sami Pietilä [Mon, 22 Apr 2013 10:13:34 +0000 (03:13 -0700)]
Merge "Reordering frame header probs." into experimental

11 years agoMerge "Removing get_segment_id function and using existing vp9_get_pred_mb_segid...
Dmitry Kovalev [Sat, 20 Apr 2013 18:05:50 +0000 (11:05 -0700)]
Merge "Removing get_segment_id function and using existing vp9_get_pred_mb_segid." into experimental

11 years agoMerge "Finally removing BOOL_DECODER and using vp9_reader instead." into experimental
Dmitry Kovalev [Sat, 20 Apr 2013 18:04:06 +0000 (11:04 -0700)]
Merge "Finally removing BOOL_DECODER and using vp9_reader instead." into experimental

11 years agoMerge "Renaming vp9_extra_bit_struct to vp9_extra_bit." into experimental
Dmitry Kovalev [Sat, 20 Apr 2013 18:03:24 +0000 (11:03 -0700)]
Merge "Renaming vp9_extra_bit_struct to vp9_extra_bit." into experimental

11 years agoMerge "Move dst to per-plane MACROBLOCKD data" into experimental
John Koleszar [Fri, 19 Apr 2013 23:33:45 +0000 (16:33 -0700)]
Merge "Move dst to per-plane MACROBLOCKD data" into experimental

11 years agoMerge "Remove vp9_recon_mb{,y}" into experimental
John Koleszar [Fri, 19 Apr 2013 23:33:09 +0000 (16:33 -0700)]
Merge "Remove vp9_recon_mb{,y}" into experimental

11 years agomake DC_PRED for i4x4 to use real pixels only
Yaowu Xu [Fri, 19 Apr 2013 16:33:07 +0000 (09:33 -0700)]
make DC_PRED for i4x4 to use real pixels only

Wherever there are real pixels available before falling back to use
assumed values 127 and 129.

This also make DC_PRED for i4x4 consistent with DC_PRED for larger
blocks.

Change-Id: I54372924826118da023f402c802ac6ce0caa70c3

11 years agoMerge "Remove redundant pointers from void vp9_recon_sb{y,uv}" into experimental
John Koleszar [Fri, 19 Apr 2013 23:17:42 +0000 (16:17 -0700)]
Merge "Remove redundant pointers from void vp9_recon_sb{y,uv}" into experimental

11 years agoMove dst to per-plane MACROBLOCKD data
John Koleszar [Fri, 19 Apr 2013 22:52:17 +0000 (15:52 -0700)]
Move dst to per-plane MACROBLOCKD data

First in a series of commits moving the framebuffers pointers to
per-plane data, so that they can be indexed numerically rather than
by name.

Change-Id: I6e0d60fd4d51e6375c384eb7321776564df21775

11 years agoEliminated prev_mip memsets/memcpys
Scott LaVarnway [Fri, 19 Apr 2013 20:32:15 +0000 (16:32 -0400)]
Eliminated prev_mip  memsets/memcpys

For 1080 material, this buffer is currently 2,270,928 bytes.  This patch swaps
ptrs instead of copying and uses the last show_frame flag instead of setting
the entire buffer to zero.  For the test clip used, the decoder improved by up
to 1%.

Change-Id: I686825712ad56043e09ada9808dc489f875a6ce0

11 years agoMerge "Clean out some legacy code." into experimental
Paul Wilkins [Fri, 19 Apr 2013 21:31:19 +0000 (14:31 -0700)]
Merge "Clean out some legacy code." into experimental

11 years agoRemoving get_segment_id function and using existing vp9_get_pred_mb_segid.
Dmitry Kovalev [Fri, 19 Apr 2013 21:25:32 +0000 (14:25 -0700)]
Removing get_segment_id function and using existing vp9_get_pred_mb_segid.

Change-Id: Iff35d4b2f8f65511f80c594958c01fb4673fa033

11 years agoClean out some legacy code.
Paul Wilkins [Fri, 19 Apr 2013 15:56:14 +0000 (16:56 +0100)]
Clean out some legacy code.

Removed some unused legacy code relating to GF activity.

Change-Id: I0b0fe90a1a5208aaa81d7393ba6cf75ab412dbda

11 years agoMerge "Remove unused parameters in handle_inter_mode" into experimental
Yunqing Wang [Fri, 19 Apr 2013 21:12:43 +0000 (14:12 -0700)]
Merge "Remove unused parameters in handle_inter_mode" into experimental

11 years agoMerge "Mv ref candidates cut to 2." into experimental
Paul Wilkins [Fri, 19 Apr 2013 21:09:44 +0000 (14:09 -0700)]
Merge "Mv ref candidates cut to 2." into experimental

11 years agoRemove vp9_recon_mb{,y}
John Koleszar [Fri, 19 Apr 2013 19:12:00 +0000 (12:12 -0700)]
Remove vp9_recon_mb{,y}

Use the common sb functions instead.

Change-Id: I4fa0a8ee3c6ada56271dd09bf895b97642f55858

11 years agoRemove redundant pointers from void vp9_recon_sb{y,uv}
John Koleszar [Fri, 19 Apr 2013 19:06:07 +0000 (12:06 -0700)]
Remove redundant pointers from void vp9_recon_sb{y,uv}

Remove the unnecessary _s_ from their names, and add a new
vp9_recon_sb() that calls the y and uv variants.

Change-Id: I7ffaa5ff5605a8472cac2a53de8cf889353039a6

11 years agoMerge "Move diff to MACROBLOCKD per-plane data." into experimental
John Koleszar [Fri, 19 Apr 2013 19:04:23 +0000 (12:04 -0700)]
Merge "Move diff to MACROBLOCKD per-plane data." into experimental

11 years agoSegmentation cleanup, adding {set, get}_segment_id functions.
Dmitry Kovalev [Fri, 19 Apr 2013 17:44:03 +0000 (10:44 -0700)]
Segmentation cleanup, adding {set, get}_segment_id functions.

Change-Id: I55c2688e06ae5d7dfccc1b1983f233ab1c7978db

11 years agoRenaming vp9_extra_bit_struct to vp9_extra_bit.
Dmitry Kovalev [Fri, 19 Apr 2013 18:14:33 +0000 (11:14 -0700)]
Renaming vp9_extra_bit_struct to vp9_extra_bit.

Change-Id: Ie4713da125e954c1d30e1d4cbeb38666fce90ccc

11 years agoMove diff to MACROBLOCKD per-plane data.
John Koleszar [Fri, 19 Apr 2013 18:07:47 +0000 (11:07 -0700)]
Move diff to MACROBLOCKD per-plane data.

Change-Id: Ic27af09e38af8317ac4743241883d577a44f1490

11 years agoFinally removing BOOL_DECODER and using vp9_reader instead.
Dmitry Kovalev [Fri, 19 Apr 2013 17:37:24 +0000 (10:37 -0700)]
Finally removing BOOL_DECODER and using vp9_reader instead.

Change-Id: I03d5b6f22f0930893709c6db5f1b06762ad3354e

11 years agomake build_inter_predictors block size agnostic (split)
John Koleszar [Wed, 17 Apr 2013 20:41:18 +0000 (13:41 -0700)]
make build_inter_predictors block size agnostic (split)

All build_inter_predictors can now be serviced by the same inner
function.

Change-Id: I40b08bee8f047286db4b1aad9dcae37b879c3f2a

11 years agoRemoving rounding from UV MV calculation for SPLITMV
John Koleszar [Wed, 17 Apr 2013 19:24:51 +0000 (12:24 -0700)]
Removing rounding from UV MV calculation for SPLITMV

Similar to the prior change that removed the rounding from non-SPLITMV
modes. Improves quality by a similar amount (Additional +0.087% on derf)

Change-Id: I39d80b4a3037a3aa7e285eb2320346ddaf646f52

11 years agoMerge "make buid_inter_predictors block size agnostic (chroma)" into experimental
John Koleszar [Fri, 19 Apr 2013 17:23:04 +0000 (10:23 -0700)]
Merge "make buid_inter_predictors block size agnostic (chroma)" into experimental

11 years agoMerge "Use SSSE3 for 2d filters larger than 16" into experimental
John Koleszar [Fri, 19 Apr 2013 17:22:54 +0000 (10:22 -0700)]
Merge "Use SSSE3 for 2d filters larger than 16" into experimental

11 years agoMerge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodframe." into experimental
Dmitry Kovalev [Fri, 19 Apr 2013 17:09:53 +0000 (10:09 -0700)]
Merge "Replacing BOOL_DECODER with vp9_reader inside vp9_decodframe." into experimental

11 years agoMerge "Fixing member names inside TOKENVALUE and TOKENEXTRA structs." into experimental
Dmitry Kovalev [Fri, 19 Apr 2013 17:09:04 +0000 (10:09 -0700)]
Merge "Fixing member names inside TOKENVALUE and TOKENEXTRA structs." into experimental

11 years agoMerge "catch all for new block sizes" into experimental
Jim Bankoski [Fri, 19 Apr 2013 16:57:38 +0000 (09:57 -0700)]
Merge "catch all for new block sizes" into experimental

11 years agoUse SSSE3 for 2d filters larger than 16
John Koleszar [Fri, 19 Apr 2013 15:24:33 +0000 (08:24 -0700)]
Use SSSE3 for 2d filters larger than 16

The C code was being used as a fallback for the >16 case, but only for 2D.

Change-Id: I1e2e6da9e4b28bd88bde9ba4dd32724ce466cf6f

11 years agocatch all for new block sizes
Jim Bankoski [Fri, 19 Apr 2013 16:48:56 +0000 (09:48 -0700)]
catch all for new block sizes

Just make sure we don't stop them from testing in speed 1.

Change-Id: Iec9b3dba0a32616ff7a451207e0f54b81bb72575

11 years agoMerge "set up a new speed 1" into experimental
Jim Bankoski [Fri, 19 Apr 2013 15:28:35 +0000 (08:28 -0700)]
Merge "set up a new speed 1" into experimental

11 years agoMv ref candidates cut to 2.
Paul Wilkins [Fri, 19 Apr 2013 14:40:36 +0000 (15:40 +0100)]
Mv ref candidates cut to 2.

Further simplification of mvref search to return
only the top two candidates. Distance weights removed
as the test order reflects distance anyway.

Change-Id: I0518cab7280258fec2058670add4f853fab7b855

11 years agoset up a new speed 1
Jim Bankoski [Fri, 19 Apr 2013 15:04:57 +0000 (08:04 -0700)]
set up a new speed 1

slightly worse results for faster encodes

Change-Id: I25ea82a18ce20635dbcd328808c1d05ac1f58fd7

11 years agoRemoval of CONFIG_NEW_MVREF experiment.
Paul Wilkins [Fri, 19 Apr 2013 10:54:02 +0000 (11:54 +0100)]
Removal of CONFIG_NEW_MVREF experiment.

This experiment has failed to give much benefit but
does add complexity so deprecated.

Change-Id: Ic7b929ba706390b9907ef0b4f965bd401ca799a4

11 years agoRemove dummy place holder function.
Paul Wilkins [Fri, 19 Apr 2013 09:25:36 +0000 (10:25 +0100)]
Remove dummy place holder function.

void __attribute__((noinline)) hi(void) { }
Causes build failure in VS2008

Change-Id: Ie2f2a09d90bd5502c492e4d9f4983532a0edbc01

11 years agoSimplification of MVref search.
Paul Wilkins [Fri, 19 Apr 2013 10:10:16 +0000 (11:10 +0100)]
Simplification of MVref search.

As we are no longer able to sort the candidate
mvrefs in both encoder and decode and given
that the cost of explicit signalling has proved
prohibitive, it no longer makes sense to find more
than 2 candidates.

This patch:

Modifies and simplifies add_candidate_mv()

Removes the forced addition of a 0 vector in the
MAX_MV_REF_CANDIDATES-1 position (in preparation
to reducing MAX_MV_REF_CANDIDATES to 2).

Re-orders the addition of candidates slightly.

This actually gives small gains (circa 0.2% on std-hd)

A subsequent patch will remove NEW_MVREF experiment,
reduce MAX_MV_REF_CANDIDATES to 2 and remove distance
weights as these are implicit now in the order.

Change-Id: I3dbe1a6f8a1a18b3c108257069c22a1141a207a4

11 years agoMerge "Adjustments to key frame sizing." into experimental
Paul Wilkins [Fri, 19 Apr 2013 09:27:22 +0000 (02:27 -0700)]
Merge "Adjustments to key frame sizing." into experimental

11 years agoAdjustments to key frame sizing.
Paul Wilkins [Tue, 16 Apr 2013 17:59:39 +0000 (18:59 +0100)]
Adjustments to key frame sizing.

Adjustments take heavier account of the frame near a kf
in deciding boost and limit the total number that can contribute.
Also adjusted the minq calculations such that in most cases we
generate a smaller key frame.
Modified the code that accounts for how static the sequence is and
added some adjustment based on image size. This is still very
crude but smaller images tend to behave better with a larger
delta between KF Q and other frames than larger image formats.
Changes give sizable gains in overall PSNR  on all the test sets but the
biggest gains (~3%) were on the std-hd set.
The gains were smaller for SSIM but still significant.
Average PSNR results are mixed because this metric can very easily
be altered by having a very good / lossless coding of one or two frames.
Some of the YT and YT-HD clips in particular have blank lead ins and
allowing lossless coding of these appears to make a big difference to
average PSNR but it reality does not help much at all.

Change-Id: I6bfe485a1d330b47c783832f1717c95c535464ec

11 years agoMerge changes I320e160e,Iddd99733 into experimental
John Koleszar [Fri, 19 Apr 2013 01:51:17 +0000 (18:51 -0700)]
Merge changes I320e160e,Iddd99733 into experimental

* changes:
  Removing rounding from UV MV calculation
  make buid_inter_predictors block size agnostic (luma)

11 years agomake buid_inter_predictors block size agnostic (chroma)
John Koleszar [Tue, 16 Apr 2013 23:26:26 +0000 (16:26 -0700)]
make buid_inter_predictors block size agnostic (chroma)

Updates to make non-SPLITMV inter predictors work for all
plane types.

Change-Id: I25dbef40b7ffcac30254b43eed1e22fc732378ae

11 years agoRemoving rounding from UV MV calculation
John Koleszar [Mon, 15 Apr 2013 20:18:24 +0000 (13:18 -0700)]
Removing rounding from UV MV calculation

Consider the previous behavior for the MV 1 3/8 (11/8 pel). In the
existing code, the fractional part of the MV is considered separately,
and rounded is applied, giving a result of 6/8. Rounding is not required
in this case, as we're increasing the precision from a q3 to a q4, and
the correct value 11/16 can be represented exactly.

Slight gain observed (+.033 average on derf)

Change-Id: I320e160e8b12f1dd66aa0ce7966b5088870fe9f8

11 years agomake buid_inter_predictors block size agnostic (luma)
John Koleszar [Sat, 13 Apr 2013 00:19:57 +0000 (17:19 -0700)]
make buid_inter_predictors block size agnostic (luma)

This commit converts the luma versions of vp9_build_inter_predictors_sb
to use a common function. Update the convolution functions to support
block sizes larger than 16x16, and add a foreach_predicted_block walker.

Next step will be to calculate the UV motion vector and implement SBUV,
then fold in vp9_build_inter16x16_predictors_mb and SPLITMV.

At the 16x16, 32x32, and 64x64 levels implemented in this commit, each
plane is predicted with only a single call to vp9_build_inter_predictor.
This is not yet called for SPLITMV. If the notion of SPLITMV/I8X8/I4X4
goes away, then the prediction block walker can go away, since we'll
always predict the whole bsize in a single step. Implemented using a
block walker at this stage for SPLITMV, as a 4x4 "prediction block size"
within the BLOCK_SIZE_MB16X16 macroblock. It would also support other
rectangular sizes too, if the blocks smaller than 16x16 remain
implemented as a SPLITMV-like thing. Just using 4x4 for now.

There's also a potential to combine with the foreach_transformed_block
walker if the logic for calculating the size of the subsampled
transform is made more straightforward, perhaps as a consequence of
supporing smaller macroblocks than 16x16. Will watch what happens there.

Change-Id: Iddd9973398542216601b630c628b9b7fdee33fe2

11 years agoFixing member names inside TOKENVALUE and TOKENEXTRA structs.
Dmitry Kovalev [Thu, 18 Apr 2013 23:18:08 +0000 (16:18 -0700)]
Fixing member names inside TOKENVALUE and TOKENEXTRA structs.

Change-Id: I183ec5819d4d80966c92db36db75b8c3be0d381d

11 years agoMerge "Fixing rounding inside vp9_mv_bit_cost function." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 23:09:28 +0000 (16:09 -0700)]
Merge "Fixing rounding inside vp9_mv_bit_cost function." into experimental

11 years agoReplacing BOOL_DECODER with vp9_reader inside vp9_decodframe.
Dmitry Kovalev [Thu, 18 Apr 2013 23:08:10 +0000 (16:08 -0700)]
Replacing BOOL_DECODER with vp9_reader inside vp9_decodframe.

Change-Id: Ia6722bc26f34ae7fc5cb15e491aba39d2f20a85b

11 years agoFixing rounding inside vp9_mv_bit_cost function.
Dmitry Kovalev [Thu, 18 Apr 2013 22:37:11 +0000 (15:37 -0700)]
Fixing rounding inside vp9_mv_bit_cost function.

Change-Id: I7209a05919162a8155520bc543658ddb69ba12ce

11 years agoMerge "Code cleanup inside findnearmv code." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 22:29:44 +0000 (15:29 -0700)]
Merge "Code cleanup inside findnearmv code." into experimental

11 years agoMerge "Make the use of pred buffers consistent in MB/SB" into experimental
Jingning Han [Thu, 18 Apr 2013 22:24:55 +0000 (15:24 -0700)]
Merge "Make the use of pred buffers consistent in MB/SB" into experimental

11 years agoCode cleanup inside findnearmv code.
Dmitry Kovalev [Wed, 17 Apr 2013 21:33:05 +0000 (14:33 -0700)]
Code cleanup inside findnearmv code.

Using predefined clamp function, removing redundant variables, declare and
init on the same line.

Change-Id: I14636eb242194bac33f8a9d4a273a416d32856fc

11 years agoMake the use of pred buffers consistent in MB/SB
Jingning Han [Mon, 15 Apr 2013 16:31:27 +0000 (09:31 -0700)]
Make the use of pred buffers consistent in MB/SB

Use in-place buffers (dst of MACROBLOCKD) for  macroblock prediction.
This makes the macroblock buffer handling consistent with those of
superblock. Remove predictor buffer MACROBLOCKD.

Change-Id: Id1bcd898961097b1e6230c10f0130753a59fc6df

11 years agoReplacing BOOLEAN_DECODER with vp9_reader inside vp9_detokenize.
Dmitry Kovalev [Tue, 16 Apr 2013 22:49:10 +0000 (15:49 -0700)]
Replacing BOOLEAN_DECODER with vp9_reader inside vp9_detokenize.

Change-Id: I71369a30a86111ae737168c795a29b4d8cff6ebf

11 years agoMerge "Adding DEFAULT_PRED_PROB_{0, 1, 2} constants." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 21:39:14 +0000 (14:39 -0700)]
Merge "Adding DEFAULT_PRED_PROB_{0, 1, 2} constants." into experimental

11 years agoMerge "Motion vector decoding code cleanup." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 21:38:38 +0000 (14:38 -0700)]
Merge "Motion vector decoding code cleanup." into experimental

11 years agoMerge "Changing argument type of vp9_get_mv_joint from MV to MV*." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 21:27:44 +0000 (14:27 -0700)]
Merge "Changing argument type of vp9_get_mv_joint from MV to MV*." into experimental

11 years agoMerge "convolve: support larger blocks, fix asm saturation bug" into experimental
John Koleszar [Thu, 18 Apr 2013 21:27:16 +0000 (14:27 -0700)]
Merge "convolve: support larger blocks, fix asm saturation bug" into experimental

11 years agoMerge "Replacing VP9_COMBINEENTROPYCONTEXTS macro with function." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 21:26:34 +0000 (14:26 -0700)]
Merge "Replacing VP9_COMBINEENTROPYCONTEXTS macro with function." into experimental

11 years agoMerge "Moving functions from vp9_dboolhuff.c to vp9_decodframe.c." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 21:26:18 +0000 (14:26 -0700)]
Merge "Moving functions from vp9_dboolhuff.c to vp9_decodframe.c." into experimental

11 years agoMerge "Renaming y1dc_delta_q, uvdc_delta_q, uvac_delta_q fields from VP9Common."...
Dmitry Kovalev [Thu, 18 Apr 2013 21:26:06 +0000 (14:26 -0700)]
Merge "Renaming y1dc_delta_q, uvdc_delta_q, uvac_delta_q fields from VP9Common." into experimental

11 years agoMerge "Transforming decode_sb_row to decode_tile function." into experimental
Dmitry Kovalev [Thu, 18 Apr 2013 21:25:52 +0000 (14:25 -0700)]
Merge "Transforming decode_sb_row to decode_tile function." into experimental

11 years agoconvolve: support larger blocks, fix asm saturation bug
John Koleszar [Thu, 18 Apr 2013 20:05:38 +0000 (13:05 -0700)]
convolve: support larger blocks, fix asm saturation bug

Updates the common convoloution code to support blocks larger than
16x16, and rectangular blocks. This uncovered a bug in the SSSE3
filtering routines due to the order of application of saturation.
This commit fixes that bug, adjusts the unit test to bias its
random values towards the extremes, and adds a test to ensure that
all filters conform to the expected pairwise addition structure.

Change-Id: I81f69668b1de0de5a8ed43f0643845641525c8f0

11 years agoRemove unused parameters in handle_inter_mode
Yunqing Wang [Thu, 18 Apr 2013 18:55:46 +0000 (11:55 -0700)]
Remove unused parameters in handle_inter_mode

Removed 2 unused parameters.

Change-Id: Ic2862569313c404047072b268c3d2be3f635492c

11 years agoMotion vector decoding code cleanup.
Dmitry Kovalev [Thu, 18 Apr 2013 18:05:34 +0000 (11:05 -0700)]
Motion vector decoding code cleanup.

Change-Id: I9790baedbd4acb7113575efc6f228b2656c42ff7

11 years agoReordering frame header probs.
Sami Pietilä [Tue, 9 Apr 2013 06:16:12 +0000 (09:16 +0300)]
Reordering frame header probs.

Moving all the probability updates after frame context selection.
This makes it clean and simple to store all the probs in single
struct that can be sent to hardware codec.

Change-Id: I2ec3de81adbd468d8ef34a914caae80a18c3ef56

11 years agoMerge "Use BLOCK_SIZE_TYPE in foreach_ walker" into experimental
John Koleszar [Thu, 18 Apr 2013 04:02:58 +0000 (21:02 -0700)]
Merge "Use BLOCK_SIZE_TYPE in foreach_ walker" into experimental

11 years agoMerge "Fix edge bug in recent merge of 64x64 and 32x32 inter predictors." into experi...
Ronald S. Bultje [Wed, 17 Apr 2013 23:30:42 +0000 (16:30 -0700)]
Merge "Fix edge bug in recent merge of 64x64 and 32x32 inter predictors." into experimental

11 years agoFix edge bug in recent merge of 64x64 and 32x32 inter predictors.
Ronald S. Bultje [Wed, 17 Apr 2013 23:12:02 +0000 (16:12 -0700)]
Fix edge bug in recent merge of 64x64 and 32x32 inter predictors.

Change-Id: I83aa188d414922db19cccb210c4001c02d5a404c

11 years agoMerge "Remove skip_recon_sb" into experimental
Yunqing Wang [Wed, 17 Apr 2013 22:56:58 +0000 (15:56 -0700)]
Merge "Remove skip_recon_sb" into experimental

11 years agoRemove skip_recon_sb
Yunqing Wang [Fri, 12 Apr 2013 23:57:23 +0000 (16:57 -0700)]
Remove skip_recon_sb

Removed skip_recon_sb(). Cleanup code so that we could combine
decode_sb and decode_mb later.

Change-Id: I24d1dd5283e2565072838a03c344938b88bfd35c