]> granicus.if.org Git - libvpx/log
libvpx
11 years agoMerge "vp9: remove frames_{since,till}.. from MACROBLOCKD"
James Zern [Tue, 16 Jul 2013 20:00:14 +0000 (13:00 -0700)]
Merge "vp9: remove frames_{since,till}.. from MACROBLOCKD"

11 years agoMerge "Cosmetic changes in 4x4 and 8x8 fdct unit tests"
James Zern [Tue, 16 Jul 2013 19:55:42 +0000 (12:55 -0700)]
Merge "Cosmetic changes in 4x4 and 8x8 fdct unit tests"

11 years agoMerge "VP[89]_COMMON: remove unused near_boffset"
James Zern [Tue, 16 Jul 2013 19:17:04 +0000 (12:17 -0700)]
Merge "VP[89]_COMMON: remove unused near_boffset"

11 years agoMerge "VP9_COMMON: remove unused framerate/bitrate"
James Zern [Tue, 16 Jul 2013 19:16:37 +0000 (12:16 -0700)]
Merge "VP9_COMMON: remove unused framerate/bitrate"

11 years agoMerge "yv12config: remove YUV_TYPE"
James Zern [Tue, 16 Jul 2013 19:16:04 +0000 (12:16 -0700)]
Merge "yv12config: remove YUV_TYPE"

11 years agoMerge "Replace generated quant tables with static lookup tables."
Ronald S. Bultje [Tue, 16 Jul 2013 19:07:17 +0000 (12:07 -0700)]
Merge "Replace generated quant tables with static lookup tables."

11 years agoReplace generated quant tables with static lookup tables.
Ronald S. Bultje [Tue, 16 Jul 2013 18:01:18 +0000 (11:01 -0700)]
Replace generated quant tables with static lookup tables.

This prevents possible float rounding issues between architectures.

Change-Id: I6ed260aebd49feb4cfb5596a5370c44be5f72167

11 years agoMerge "Fix above context pointers"
John Koleszar [Tue, 16 Jul 2013 18:23:38 +0000 (11:23 -0700)]
Merge "Fix above context pointers"

11 years agoMerge "SSE2 8x8 inverse ADST/DCT transform"
Jingning Han [Tue, 16 Jul 2013 18:00:11 +0000 (11:00 -0700)]
Merge "SSE2 8x8 inverse ADST/DCT transform"

11 years agoFix above context pointers
John Koleszar [Tue, 16 Jul 2013 17:20:56 +0000 (10:20 -0700)]
Fix above context pointers

In the prior code, the above context pointers used for entropy
decoding were initialized on the first frame, and not updated when
the frame size changed. The per-frame code which initializes the
contexts assumes that the contexts are contiguous, leading to an
incomplete initialization when the frame is smaller. This commit
updates the pointers so that the context is contigous whenever
the frame size changes.

Change-Id: I08b53e3a30c8289491212311682ff1b8028cff6c

11 years agoMerge "vp9_convolve8_[horiz|vert]_avg"
Johann [Tue, 16 Jul 2013 16:42:52 +0000 (09:42 -0700)]
Merge "vp9_convolve8_[horiz|vert]_avg"

11 years agoMerge "Skip inter-coded block reconstruction in rd loop"
Jingning Han [Tue, 16 Jul 2013 16:03:38 +0000 (09:03 -0700)]
Merge "Skip inter-coded block reconstruction in rd loop"

11 years agoMerge "Removing and moving around constant definitions."
Dmitry Kovalev [Tue, 16 Jul 2013 07:52:53 +0000 (00:52 -0700)]
Merge "Removing and moving around constant definitions."

11 years agoMerge "Change to extend full border only when needed"
Yaowu Xu [Tue, 16 Jul 2013 04:35:32 +0000 (21:35 -0700)]
Merge "Change to extend full border only when needed"

11 years agoChange to extend full border only when needed
Yaowu Xu [Mon, 15 Jul 2013 21:59:59 +0000 (14:59 -0700)]
Change to extend full border only when needed

This is a short term optimization till we work out a decoder
implementation requiring no frame border extension.

Change-Id: I02d15bfde4d926b50a4e58b393d8c4062d1be70f

11 years agoRemoving and moving around constant definitions.
Dmitry Kovalev [Mon, 15 Jul 2013 19:26:58 +0000 (12:26 -0700)]
Removing and moving around constant definitions.

Removing unused and duplicated constants, moving them from *.h to *.c
if possible.

Change-Id: Ief4d6b984a3ca2e9b38504f0d855ed072cf7133f

11 years agoMerge "Consistent naming for loop-filter filters."
Dmitry Kovalev [Tue, 16 Jul 2013 02:21:32 +0000 (19:21 -0700)]
Merge "Consistent naming for loop-filter filters."

11 years agoMerge "Remove print_nmvcounts"
Johann [Tue, 16 Jul 2013 01:43:41 +0000 (18:43 -0700)]
Merge "Remove print_nmvcounts"

11 years agoIncrease border size from 96 to 160.
Ronald S. Bultje [Fri, 12 Jul 2013 19:59:19 +0000 (12:59 -0700)]
Increase border size from 96 to 160.

This is required because upon downscaling, if a motion vector points
partially into the UMV (e.g. all minus 1 of 64+7 pixels, i.e. 70),
then we can point up to 140 pixels into the larger-resolution (2x)
reference buffer UMV, which means the UMV for reference buffers in
downscaling needs to be 140 rounded up to the nearest multiple of 32,
i.e. 160.

Longer-term, we should probably handle the UMV differently by detecting
edge coverage on-the-fly and using a temporary buffer for edge extensions
instead of adding 160 pixels on all sides of the image (which means a
CIF image uses 3x its own area size for borders).

Change-Id: I5184443e6731cd6721fc6a5d430a53e7d91b4f7e

11 years agoInline vp9_quantize() in xform_quant().
Ronald S. Bultje [Thu, 11 Jul 2013 20:01:44 +0000 (13:01 -0700)]
Inline vp9_quantize() in xform_quant().

Cycle times:
4x4:    151 to  131 cycles (15% faster)
8x8:    334 to  306 cycles (9% faster)
16x16: 1401 to 1368 cycles (2.5% faster)
32x32: 7403 to 7367 cycles (0.5% faster)

Total encode time of first 50 frames of bus @ 1500kbps (speed 0)
goes from 1min39.2 to 1min38.6, i.e. a 0.67% overall speedup.

Change-Id: I799a49460e5e3fcab01725564dd49c629bfe935f

11 years agoMerge "Inline xform_quant() in encode_block_intra()."
Ronald S. Bultje [Tue, 16 Jul 2013 00:29:39 +0000 (17:29 -0700)]
Merge "Inline xform_quant() in encode_block_intra()."

11 years agoMerge "Neon: Update mbfilter if all vectors follow one branch."
Frank Galligan [Tue, 16 Jul 2013 00:11:55 +0000 (17:11 -0700)]
Merge "Neon: Update mbfilter if all vectors follow one branch."

11 years agoConsistent naming for loop-filter filters.
Dmitry Kovalev [Mon, 15 Jul 2013 23:01:31 +0000 (16:01 -0700)]
Consistent naming for loop-filter filters.

Renaming flatmask4 to flat_mask4, flatmask5 to flat_mask5, hevmask to
hev_mask, filter to filter4, mbfilter to filter8, wide_mbfilter to
filter16.

Change-Id: Ic61c73e59c2eee505257584867aafac99833cea1

11 years agoInline xform_quant() in encode_block_intra().
Ronald S. Bultje [Thu, 11 Jul 2013 18:35:13 +0000 (11:35 -0700)]
Inline xform_quant() in encode_block_intra().

Also inline some of the block calculations to assist the compiler to
not do silly things like calculating the same offset (or converting
between raster/transform block offset or block, mi and pixel unit)
many, many, many times.

Cycle times:
4x4:     584 ->   505 cycles (16% faster)
8x8:    1651 ->  1560 cycles (6% faster)
16x16:  7897 ->  7704 cycles (2.5% faster)
32x32: 16096 -> 15852 cycles (1.5% faster)

Overall, this saves about 0.5 seconds (1min49.8 -> 1min49.3) on the
first 50 frames of bus (speed 0) @ 1500kbps, i.e. 0.5% overall.

Change-Id: If3dd62453f8e2ab9d4ee616bc4ea956fb8874b80

11 years agoCode cleanup inside vp9_decodeframe.c.
Dmitry Kovalev [Mon, 15 Jul 2013 21:47:25 +0000 (14:47 -0700)]
Code cleanup inside vp9_decodeframe.c.

Removing unused DEC_DEBUG define and dec_debug variable. Changing function
signatures to eliminate code duplication, renaming function
mb_init_dequantizer to init_dequantizer. Also removing redundant curly
braces, and comments.

Change-Id: Ia56ee1b0be5f24abb0e878581845be8a4773c298

11 years agoNeon: Update mbfilter if all vectors follow one branch.
Frank Galligan [Fri, 12 Jul 2013 00:13:03 +0000 (17:13 -0700)]
Neon: Update mbfilter if all vectors follow one branch.

Change the mbfilter Neon code from executing both branches if all
vectors follow only one branch.

The code is about 5% faster when executing only one branch and about
1% slower when executing both branches.

-PS5: Remove local stack space from mbfilter.

Change-Id: I6a23f9b318a9f4568a2718b4c9348db988fe2182

11 years agoCosmetic changes in 4x4 and 8x8 fdct unit tests
Jingning Han [Sat, 13 Jul 2013 03:05:05 +0000 (20:05 -0700)]
Cosmetic changes in 4x4 and 8x8 fdct unit tests

Make the codes consistent with conventions.

Change-Id: Id044ed8382f83a3c3f54f9edd569f00bcd0523db

11 years agoSkip inter-coded block reconstruction in rd loop
Jingning Han [Mon, 15 Jul 2013 18:28:46 +0000 (11:28 -0700)]
Skip inter-coded block reconstruction in rd loop

Skip the inverse transform and reconstruction of inter-mode coded
blocks in the rate-distortion optimization loop, when skip_encode_sb
feature is turned on. This provides about 1% speed-up at speed 0,
and 1.5% speed-up at speed 1. No performance change in both settings.

Change-Id: I2932718bf4d007163702b61b16b6ff100cf9d007

11 years agoSkip duplicate block encoding in the rd loop
Jingning Han [Mon, 8 Jul 2013 23:48:47 +0000 (16:48 -0700)]
Skip duplicate block encoding in the rd loop

This speed feature allows the encoder to largely remove the spatial
dependency between blocks inside a 64x64 superblock, thereby removing
the need to repeatedly encode superblocks per partition type in the
rate-distortion optimization loop.

A major challenge lies in the intra modes tested in the rate-distortion
optimization loop. The subsequent blocks do not have access to the
reconstructed boundary pixels without the intermediate coding steps.
This was resolved by using the original pixels for intra prediction
in the rd loop, followed by an appropriately designed distortion
modeling on the quantization parameters. Experiments also suggested
that the performance impact is more discernible at lower bit-rate/psnr
settings. Hence a quantizer dependent threshold is applied to deactivate
skip of block coding.

For bus_cif at 2000 kbps,
speed 0: runtime 269854ms -> 237774ms (12% speed-up) at 0.05dB
         performance loss.

speed 1: runtime 65312ms  -> 61536ms, (7% speed-up) at 0.04dB
         performance loss.

This operation is currently turned on in settings of speed 1.

Change-Id: Ib689741dfff8dd38365d8c1b92860a3e176f56ec

11 years agoMerge "Fixing vp9_get_pred_context_comp_ref_p function."
Dmitry Kovalev [Mon, 15 Jul 2013 17:51:42 +0000 (10:51 -0700)]
Merge "Fixing vp9_get_pred_context_comp_ref_p function."

11 years agovp9: remove frames_{since,till}.. from MACROBLOCKD
James Zern [Sat, 13 Jul 2013 18:19:28 +0000 (11:19 -0700)]
vp9: remove frames_{since,till}.. from MACROBLOCKD

frames_since_golden / frames_till_alt_ref_frame are unused.

Change-Id: I348e7689d4d75412cf4de7703d885be942e4a26b

11 years agoVP9_COMMON: remove unused framerate/bitrate
James Zern [Sat, 13 Jul 2013 00:08:39 +0000 (17:08 -0700)]
VP9_COMMON: remove unused framerate/bitrate

+ VP8_COMMON: place them under CONFIG_POSTPROC_VISUALIZER

Change-Id: I2702d5a3e1134b9c5f7ddc14b4173955a400f2cf

11 years agoSSE2 8x8 inverse ADST/DCT transform
Jingning Han [Sat, 13 Jul 2013 03:54:14 +0000 (20:54 -0700)]
SSE2 8x8 inverse ADST/DCT transform

This commit enables SSE2 implementation of 8x8 inverse ADST/DCT
transform. The runtime goes from 1216 cycles -> 266 cycles.
For bus_cif at 2000 kbps, the overall runtime reduces from
253707ms -> 248430ms, i.e., 2% speed-up at speed 0.

Change-Id: Ib0372e17e9162d7b11a10d653b1c8be547c878fb

11 years agoVP[89]_COMMON: remove unused near_boffset
James Zern [Sat, 13 Jul 2013 01:08:49 +0000 (18:08 -0700)]
VP[89]_COMMON: remove unused near_boffset

Change-Id: If9b9ca703b997312df85241a0758d414cfdc5228

11 years agoUsing vp9_copy and vp9_zero instead of custom code.
Dmitry Kovalev [Wed, 3 Jul 2013 00:19:16 +0000 (17:19 -0700)]
Using vp9_copy and vp9_zero instead of custom code.

Change-Id: Id9b6ceeddca3f9b34bfada5c499b1e7a2f42c30b

11 years agoFixing vp9_get_pred_context_comp_ref_p function.
Dmitry Kovalev [Sat, 13 Jul 2013 00:46:02 +0000 (17:46 -0700)]
Fixing vp9_get_pred_context_comp_ref_p function.

Adding missed parenthesis around boolean expressions. Bitstream is changed.
Regenerating test vectors.

Change-Id: I4cc00b761e9473f92f180a9fc3a0c607f0aaae56

11 years agoMerge "Removing redundant call to set_mi_row_col."
Dmitry Kovalev [Sat, 13 Jul 2013 00:08:23 +0000 (17:08 -0700)]
Merge "Removing redundant call to set_mi_row_col."

11 years agoRemoving redundant call to set_mi_row_col.
Dmitry Kovalev [Fri, 12 Jul 2013 23:25:23 +0000 (16:25 -0700)]
Removing redundant call to set_mi_row_col.

This function is actually called from set_offsets which is called right
before vp9_read_mode_info.

Change-Id: Ibb9d5ad606194bc80eab264fad85b31c9dfd8f77

11 years agovp9_convolve8_[horiz|vert]_avg
Johann [Fri, 12 Jul 2013 23:12:58 +0000 (16:12 -0700)]
vp9_convolve8_[horiz|vert]_avg

Super basic conversion from the other implementations. Any changes to
one should be trivial to copy over keep in sync.

Change-Id: I1720b4128e0aba4b2779e3761f6494f8a09d3ea8

11 years agoMerge "Fix a build issue"
Yaowu Xu [Fri, 12 Jul 2013 23:17:22 +0000 (16:17 -0700)]
Merge "Fix a build issue"

11 years agoMerge "Adding struct tx_probs and struct tx_counts to cleanup the code."
Dmitry Kovalev [Fri, 12 Jul 2013 23:02:09 +0000 (16:02 -0700)]
Merge "Adding struct tx_probs and struct tx_counts to cleanup the code."

11 years agoMerge "Making functions read_{inter, intra}_segment_id more similar."
Dmitry Kovalev [Fri, 12 Jul 2013 22:50:02 +0000 (15:50 -0700)]
Merge "Making functions read_{inter, intra}_segment_id more similar."

11 years agoMerge "vp9_postproc: remove useless self-assign"
James Zern [Fri, 12 Jul 2013 22:41:41 +0000 (15:41 -0700)]
Merge "vp9_postproc: remove useless self-assign"

11 years agoyv12config: remove YUV_TYPE
James Zern [Fri, 12 Jul 2013 21:11:53 +0000 (14:11 -0700)]
yv12config: remove YUV_TYPE

this was never fleshed out in the context of VP8, for which it was
added. for VP9 it has no meaning.

Change-Id: Iba2ecc026d9e947067b96690245d337e51e26eff

11 years agoAdding struct tx_probs and struct tx_counts to cleanup the code.
Dmitry Kovalev [Thu, 11 Jul 2013 00:36:06 +0000 (17:36 -0700)]
Adding struct tx_probs and struct tx_counts to cleanup the code.

Also removing unused declarations from vp9_entropymode.h file.

Change-Id: Ib9c5826db3584a32f6bb3297a76c522b99d83402

11 years agoMerge "Code cleanup in vp9_pred_common.c"
Dmitry Kovalev [Fri, 12 Jul 2013 22:04:07 +0000 (15:04 -0700)]
Merge "Code cleanup in vp9_pred_common.c"

11 years agoMaking functions read_{inter, intra}_segment_id more similar.
Dmitry Kovalev [Fri, 12 Jul 2013 21:50:33 +0000 (14:50 -0700)]
Making functions read_{inter, intra}_segment_id more similar.

Change-Id: I51f9ac910834f2d7aba2be4f7ffbce597e61a144

11 years agovp9_postproc: remove useless self-assign
James Zern [Fri, 12 Jul 2013 21:17:15 +0000 (14:17 -0700)]
vp9_postproc: remove useless self-assign

Change-Id: I0bc5d2d8c9fec8be18263b0dc2528886bb5b7b61

11 years agoCode cleanup in vp9_pred_common.c
Dmitry Kovalev [Fri, 12 Jul 2013 21:11:48 +0000 (14:11 -0700)]
Code cleanup in vp9_pred_common.c

No bitstream changes. Using MB_MODE_INFO temp variables instead of
MODE_INFO variables. Removing redundant curly braces.

Change-Id: Ib9d1bedfbd8af97ecc722ccf697ea8177bbe287c

11 years agoFix a build issue
Yaowu Xu [Fri, 12 Jul 2013 18:38:44 +0000 (11:38 -0700)]
Fix a build issue

Change-Id: I23a75c495ed7ea917d7f312bef0990e20a6b53d9

11 years agovp9: consistent 'log2' variable naming
James Zern [Fri, 12 Jul 2013 18:37:43 +0000 (11:37 -0700)]
vp9: consistent 'log2' variable naming

lg2 -> log2

Change-Id: I0602ddff49e42c9c40c29c084d04b7592b9f8edf

11 years agoMerge changes I33e76c42,I24aeac1e,If4192b40
James Zern [Fri, 12 Jul 2013 18:10:18 +0000 (11:10 -0700)]
Merge changes I33e76c42,I24aeac1e,If4192b40

* changes:
  vp9_dx_iface: s/vp8/vp9/ where possible
  vp[89]_dx_iface: delete unused function
  vp[89]_dx_iface: factorize vp8_mmap_*()

11 years agovp9_dx_iface: s/vp8/vp9/ where possible
James Zern [Fri, 12 Jul 2013 06:16:22 +0000 (23:16 -0700)]
vp9_dx_iface: s/vp8/vp9/ where possible

drop 'vp9_' from most static functions unrelated to the codec interface
itself.

Change-Id: I33e76c425bb7373570a57a61662a56d65ab4bdf3

11 years agoMerge "msvs-build: use msbuild for vs >= 2005"
James Zern [Fri, 12 Jul 2013 17:59:35 +0000 (10:59 -0700)]
Merge "msvs-build: use msbuild for vs >= 2005"

11 years agoSome minor cleanups for efficiency
Deb Mukherjee [Wed, 10 Jul 2013 23:51:07 +0000 (16:51 -0700)]
Some minor cleanups for efficiency

Implements some of the helper functions more efficiently with
lookups rathers than branches. Modeling function is consolidated
to reduce some computations.

Also merged the two enums BLOCK_SIZE_TYPES and BlockSize into
one because there is no need to keep them separate (even though
the semantics are a little different).

No bitstream or output change.

About 0.5% speedup

Change-Id: I7d71a66e8031ddb340744dc493f22976052b8f9f

11 years agoMerge "Removing redundant code mostly from vp9_pred_common.{h, c}."
Dmitry Kovalev [Fri, 12 Jul 2013 17:22:30 +0000 (10:22 -0700)]
Merge "Removing redundant code mostly from vp9_pred_common.{h, c}."

11 years agoMerge "Speed 2 feature adjustment."
Paul Wilkins [Fri, 12 Jul 2013 09:14:01 +0000 (02:14 -0700)]
Merge "Speed 2 feature adjustment."

11 years agovp[89]_dx_iface: delete unused function
James Zern [Fri, 12 Jul 2013 06:03:24 +0000 (23:03 -0700)]
vp[89]_dx_iface: delete unused function

static mmap_lkup

Change-Id: I24aeac1eca8453e28d58bc06925e58efc228a0a6

11 years agovp[89]_dx_iface: factorize vp8_mmap_*()
James Zern [Fri, 12 Jul 2013 06:01:26 +0000 (23:01 -0700)]
vp[89]_dx_iface: factorize vp8_mmap_*()

s/vp8/vpx/ -> vpx_codec_internal.h / vpx_codec.c

Change-Id: If4192b40206276a761b01d44e334fe15bcb81128

11 years agoMerge "Cosmetic changes in 16x16 ADST/DCT unit test"
Jingning Han [Fri, 12 Jul 2013 04:52:39 +0000 (21:52 -0700)]
Merge "Cosmetic changes in 16x16 ADST/DCT unit test"

11 years agoMerge "Remove unnecessary tx_type branch in encode_block"
Jingning Han [Fri, 12 Jul 2013 04:52:27 +0000 (21:52 -0700)]
Merge "Remove unnecessary tx_type branch in encode_block"

11 years agoRemoving redundant code mostly from vp9_pred_common.{h, c}.
Dmitry Kovalev [Fri, 12 Jul 2013 01:39:10 +0000 (18:39 -0700)]
Removing redundant code mostly from vp9_pred_common.{h, c}.

Removing redundant function arguments and curly braces.

Change-Id: I46e02561f33fe02e84a3b19756f03b9504bd6a1b

11 years agoRemove print_nmvcounts
Johann [Fri, 12 Jul 2013 00:22:03 +0000 (17:22 -0700)]
Remove print_nmvcounts

For some reason iOS builds take a really long time to sort this
function out.

It's not used anywhere so remove it.

Change-Id: Ia5c8513a0d9c7eb32641cca58ca1c1113e2dd9f4

11 years agoRemove unused function block_error().
Ronald S. Bultje [Thu, 11 Jul 2013 19:11:45 +0000 (12:11 -0700)]
Remove unused function block_error().

Change-Id: I78a79fc51c2d7cc3c261f35b569155397f3dc0c4

11 years agoMerge "vp9: fix peek_si for version==0"
James Zern [Thu, 11 Jul 2013 22:51:39 +0000 (15:51 -0700)]
Merge "vp9: fix peek_si for version==0"

11 years agoMerge "small update to peek_si/get_si documentation"
James Zern [Thu, 11 Jul 2013 22:47:11 +0000 (15:47 -0700)]
Merge "small update to peek_si/get_si documentation"

11 years agoMerge "Calling is_inter_mode() instead of custom code."
Dmitry Kovalev [Thu, 11 Jul 2013 22:20:14 +0000 (15:20 -0700)]
Merge "Calling is_inter_mode() instead of custom code."

11 years agoMerge "SSE2 4x4 invserse ADST/DCT transform"
Jingning Han [Thu, 11 Jul 2013 21:17:23 +0000 (14:17 -0700)]
Merge "SSE2 4x4 invserse ADST/DCT transform"

11 years agoCalling is_inter_mode() instead of custom code.
Dmitry Kovalev [Thu, 11 Jul 2013 21:14:47 +0000 (14:14 -0700)]
Calling is_inter_mode() instead of custom code.

Change-Id: Iccd4ab95ea51a6d57ed43947f2fd7ad92e8979cf

11 years agoMerge "Making vp9_default_nmv_context static."
Dmitry Kovalev [Thu, 11 Jul 2013 20:58:34 +0000 (13:58 -0700)]
Merge "Making vp9_default_nmv_context static."

11 years agosmall update to peek_si/get_si documentation
James Zern [Thu, 11 Jul 2013 19:23:28 +0000 (12:23 -0700)]
small update to peek_si/get_si documentation

correct a doxygen and function reference

Change-Id: I525371d64969aa60c464d0f6a133bc29895d7991

11 years agovp9: fix peek_si for version==0
James Zern [Thu, 11 Jul 2013 01:45:57 +0000 (18:45 -0700)]
vp9: fix peek_si for version==0

Change-Id: I6bfec4fa50dfc1a953edb1a2aa8e97e6e896bed6

11 years agoMoving segmentation related vars into separate struct.
Dmitry Kovalev [Wed, 10 Jul 2013 19:29:43 +0000 (12:29 -0700)]
Moving segmentation related vars into separate struct.

Adding segmentation struct to vp9_seg_common.h. Struct members are from
macroblockd and VP9Common structs. Moving segmentation related constants
and enums to vp9_seg_common.h.

Change-Id: I23fabc33f11a359249f5f80d161daf569d02ec03

11 years agoMerge "Adding write_compressed_header function."
Dmitry Kovalev [Thu, 11 Jul 2013 18:57:17 +0000 (11:57 -0700)]
Merge "Adding write_compressed_header function."

11 years agoMerge "Removing unused TOKENEXTRA arg from pick_sb_modes function."
Dmitry Kovalev [Thu, 11 Jul 2013 18:46:06 +0000 (11:46 -0700)]
Merge "Removing unused TOKENEXTRA arg from pick_sb_modes function."

11 years agoCosmetic changes in 16x16 ADST/DCT unit test
Jingning Han [Thu, 11 Jul 2013 16:37:25 +0000 (09:37 -0700)]
Cosmetic changes in 16x16 ADST/DCT unit test

Change-Id: Ic649e9e47d14d6f8cae0c443a425ea533a97ad8d

11 years agoconvolve8 optimizations for neon
Johann [Thu, 23 May 2013 19:50:41 +0000 (12:50 -0700)]
convolve8 optimizations for neon

Independent horizontal and vertical implementations.

Requires that blocks be built from 4x4 and [xy]_step_q4 == 16

6-10% improvement. CIF improved the least.

Change-Id: I137f5ceae4440adc0960bf88e4453e55a618bcda

11 years agoAdd neon optimize vp9_dc_only_idct_add.
hkuang [Tue, 9 Jul 2013 19:06:21 +0000 (12:06 -0700)]
Add neon optimize vp9_dc_only_idct_add.

Change-Id: Iae84ab945cc9662a0ddd839aa2b9ca59f2ae5423

11 years agoRemove unnecessary tx_type branch in encode_block
Jingning Han [Thu, 11 Jul 2013 16:09:41 +0000 (09:09 -0700)]
Remove unnecessary tx_type branch in encode_block

The function encode_block is called only by inter-prediction modes,
hence removing the transform type branching there.

Change-Id: I34a3172e28ce2388835efd0f8781922211bff857

11 years agoMerge "Wide loopfilter 16 pix at a time"
Jim Bankoski [Thu, 11 Jul 2013 13:44:02 +0000 (06:44 -0700)]
Merge "Wide loopfilter 16 pix at a time"

11 years agoSpeed 2 feature adjustment.
Paul Wilkins [Wed, 3 Jul 2013 16:54:06 +0000 (17:54 +0100)]
Speed 2 feature adjustment.

With sf->auto_mv_step_size on it is questionable
whether sf->reduce_first_step_size is worthwhile.
At speed 2 it was not having a big impact.

Even at speed 2 sf->optimize_coefficients = 0 is not
having a big speed imapct so for now I have moved it
down into a higher speed setting.

Change-Id: I8a54de76d486ad37aabce76474889da2768b14c1

11 years agoSSE2 4x4 invserse ADST/DCT transform
Jingning Han [Wed, 10 Jul 2013 19:11:09 +0000 (12:11 -0700)]
SSE2 4x4 invserse ADST/DCT transform

Enable SSE2 4x4 inverse ADST/DCT transform. The runtime goes from
292 cycles down to 89 cycles. Running bus_cif at 2000 kbps, the
overall runtime of speed 0 goes from 301s to 295s (2% speed-up).

Change-Id: I24098136e7fee7ab2fbf1c11755bdf2ca37f3628

11 years agoMerge "Fix tx_type bug in intra4x4 rd loop"
Jingning Han [Thu, 11 Jul 2013 03:13:25 +0000 (20:13 -0700)]
Merge "Fix tx_type bug in intra4x4 rd loop"

11 years agoReplace copy_memNxM functions with a generic copy/avg function.
Ronald S. Bultje [Wed, 10 Jul 2013 18:17:19 +0000 (11:17 -0700)]
Replace copy_memNxM functions with a generic copy/avg function.

Change-Id: I3ce849452ed4f08527de9565a9914d5ee36170aa

11 years agoRemove unused fwalsh/fdct x86 SIMD implementations.
Ronald S. Bultje [Wed, 10 Jul 2013 17:34:58 +0000 (10:34 -0700)]
Remove unused fwalsh/fdct x86 SIMD implementations.

Change-Id: Ia942e56cf322821d42ba06178672791eeee2847e

11 years agoMaking vp9_default_nmv_context static.
Dmitry Kovalev [Thu, 11 Jul 2013 00:44:45 +0000 (17:44 -0700)]
Making vp9_default_nmv_context static.

Change-Id: Ia3d5bd45adf288de11ab59c4728266c93c17e275

11 years agoMerge "Remove unused iwalsh4x4 MMX/SSE2 functions."
Ronald S. Bultje [Thu, 11 Jul 2013 00:08:46 +0000 (17:08 -0700)]
Merge "Remove unused iwalsh4x4 MMX/SSE2 functions."

11 years agoMerge "Remove unused 16x3/3x16 sad SSE2 functions."
Ronald S. Bultje [Thu, 11 Jul 2013 00:08:43 +0000 (17:08 -0700)]
Merge "Remove unused 16x3/3x16 sad SSE2 functions."

11 years agoWide loopfilter 16 pix at a time
John Koleszar [Wed, 12 Jun 2013 21:37:01 +0000 (14:37 -0700)]
Wide loopfilter 16 pix at a time

Where possible, do the 16 pixel wide filter while doing the horizontal
filtering pass. The same approach can be taken for the mbloop_filter
when that's implemented. Doing so on the vertical pass is a little more
involved, but possible.

Change-Id: I010cb505e623464247ae8f67fa25a0cdac091320

11 years agomsvs-build: use msbuild for vs >= 2005
James Zern [Sat, 6 Apr 2013 02:30:15 +0000 (19:30 -0700)]
msvs-build: use msbuild for vs >= 2005

allows concurrent builds via the /m command line option

Change-Id: I668792ba00276e8626dc175c0a44ddab35fc7114

11 years agoRemoving unused TOKENEXTRA arg from pick_sb_modes function.
Dmitry Kovalev [Wed, 10 Jul 2013 22:57:28 +0000 (15:57 -0700)]
Removing unused TOKENEXTRA arg from pick_sb_modes function.

Change-Id: I0543e72fa092eef3976b65e16bb597197c364873

11 years agoFix tx_type bug in intra4x4 rd loop
Jingning Han [Wed, 10 Jul 2013 22:45:34 +0000 (15:45 -0700)]
Fix tx_type bug in intra4x4 rd loop

This commit fixed the mis-use of the tx_type for inverse transform
in intra4x4 rate-distortion optimization loop. It improves the
overall coding performance.

Change-Id: I7fe9953175b74890357dbcee33c138573766e980

11 years agoMerge "Prunes out full-rd computation based on modeled rd"
Deb Mukherjee [Wed, 10 Jul 2013 22:37:11 +0000 (15:37 -0700)]
Merge "Prunes out full-rd computation based on modeled rd"

11 years agoMerge "Adding read_compressed_header function."
Dmitry Kovalev [Wed, 10 Jul 2013 22:11:08 +0000 (15:11 -0700)]
Merge "Adding read_compressed_header function."

11 years agoAdding write_compressed_header function.
Dmitry Kovalev [Wed, 10 Jul 2013 22:08:34 +0000 (15:08 -0700)]
Adding write_compressed_header function.

Change-Id: Ic5257fa8278e9b6297de230e4fd26a1e23ad2bb7

11 years agoconfigure with internal stats not working
Jim Bankoski [Wed, 10 Jul 2013 22:07:53 +0000 (15:07 -0700)]
configure with internal stats not working

Change-Id: I5dea4570cb05df27a522abf6e7b695998654284a

11 years agoRemove unused iwalsh4x4 MMX/SSE2 functions.
Ronald S. Bultje [Wed, 10 Jul 2013 17:27:42 +0000 (10:27 -0700)]
Remove unused iwalsh4x4 MMX/SSE2 functions.

Change-Id: I2d22577911a37ed7d8c7e08cac20764842267652

11 years agoRemove unused 16x3/3x16 sad SSE2 functions.
Ronald S. Bultje [Wed, 10 Jul 2013 17:23:41 +0000 (10:23 -0700)]
Remove unused 16x3/3x16 sad SSE2 functions.

Change-Id: I30a597c0cc366e34c9a3e2afe32d70e044f95ca4

11 years agoMerge "SSSE3 assembly for 4x4/8x8/16x16/32x32 H intra prediction."
Ronald S. Bultje [Wed, 10 Jul 2013 21:52:23 +0000 (14:52 -0700)]
Merge "SSSE3 assembly for 4x4/8x8/16x16/32x32 H intra prediction."

11 years agoMerge "SSE/SSE2 assembly for 4x4/8x8/16x16/32x32 TM intra prediction."
Ronald S. Bultje [Wed, 10 Jul 2013 21:52:19 +0000 (14:52 -0700)]
Merge "SSE/SSE2 assembly for 4x4/8x8/16x16/32x32 TM intra prediction."