]> granicus.if.org Git - libvpx/log
libvpx
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 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 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 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 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 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."

11 years agoMerge "remove warnings when NDEBUG is set"
Jim Bankoski [Wed, 10 Jul 2013 21:39:39 +0000 (14:39 -0700)]
Merge "remove warnings when NDEBUG is set"

11 years agoremove warnings when NDEBUG is set
Jim Bankoski [Wed, 10 Jul 2013 21:27:20 +0000 (14:27 -0700)]
remove warnings when NDEBUG is set

Change-Id: Ie0cb732fdcb98616a422c4463bff80642248d136

11 years agoPrunes out full-rd computation based on modeled rd
Deb Mukherjee [Mon, 8 Jul 2013 23:01:01 +0000 (16:01 -0700)]
Prunes out full-rd computation based on modeled rd

Adds a speed feature to eliminate full-rd computation if the modeled
rd or rd based on a different parameter in the same mode is already
a lot larger than the best rd yet.

Specifically, only search the sharp and smooth filters if the modeled
rd cost based on the  regular filter is within a certain factor of the
best rd cost so far. Also, skip full-rd computation of non splitmv
inter modes if the modeled rd cost based on pred error is within the
same factor of the best rd cost so far.

Also adds some enhancements in the rd search for splitmv mode to
speed things up by early breakouts. Negligible impact on performance.

Resuts on derfraw300:
psnr:    -0.013% with the splitmv enhancements, -0.24% with the rd
         breakout feature on.
speedup: 6% with splitmv enhancements, 20% with also residual breakout
         (tested on football sequence at 600 Kbps)

Change-Id: I37abc308ea9f110c1679ce649b6a7e73ab1ad5fc

11 years agoMerge "msvc: set a more useful debug format"
James Zern [Wed, 10 Jul 2013 20:02:22 +0000 (13:02 -0700)]
Merge "msvc: set a more useful debug format"

11 years agoMerge "test_libvpx: disable pthreads in gtest for win targets"
James Zern [Wed, 10 Jul 2013 20:01:52 +0000 (13:01 -0700)]
Merge "test_libvpx: disable pthreads in gtest for win targets"

11 years agoSSE2 16x16 ADST/DCT hybrid transform
Jingning Han [Wed, 3 Jul 2013 16:05:01 +0000 (09:05 -0700)]
SSE2 16x16 ADST/DCT hybrid transform

This commit enables 16x16 ADST/DCT forward hybrid transform using SSE2
operations. It reduces the runtime from 5433 cycles to 1621 cycles, at
no compression performance loss.

Change-Id: I75fd7f1984e9e28846af459f810ff0d6ae125230

11 years agoMerge "Adding encode_tiles function to vp9_bitstream.c."
Dmitry Kovalev [Wed, 10 Jul 2013 18:43:50 +0000 (11:43 -0700)]
Merge "Adding encode_tiles function to vp9_bitstream.c."

11 years agoMerge "Add a feature to reduce chrome intra mode search"
Yaowu Xu [Wed, 10 Jul 2013 18:35:47 +0000 (11:35 -0700)]
Merge "Add a feature to reduce chrome intra mode search"

11 years agoMerge "Add unit test for 16x16 forward ADST/DCT"
Jingning Han [Wed, 10 Jul 2013 18:16:39 +0000 (11:16 -0700)]
Merge "Add unit test for 16x16 forward ADST/DCT"

11 years agoMerge "Bug fix: set frame_parallel_decoding_mode"
Scott LaVarnway [Wed, 10 Jul 2013 18:09:30 +0000 (11:09 -0700)]
Merge "Bug fix: set frame_parallel_decoding_mode"

11 years agoMerge "Fix intermediate height in convolve"
John Koleszar [Wed, 10 Jul 2013 18:04:40 +0000 (11:04 -0700)]
Merge "Fix intermediate height in convolve"

11 years agoAdding read_compressed_header function.
Dmitry Kovalev [Mon, 8 Jul 2013 18:54:36 +0000 (11:54 -0700)]
Adding read_compressed_header function.

Splitting setup_txfm_mode into read_tx_mode and read_tx_probs.

Change-Id: I5b4fe48698d56490857d32eafcaeb4291f208479

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

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