webm/libvpx.git
50 min agoMerge "Updates to adaptive/aggressive denoiser mode." master
Marco [Tue, 2 Sep 2014 17:58:41 +0000 (10:58 -0700)]
Merge "Updates to adaptive/aggressive denoiser mode."

107 min agoMerge "Removing 'frames' field from VP9_COMP."
Dmitry Kovalev [Tue, 2 Sep 2014 17:01:20 +0000 (10:01 -0700)]
Merge "Removing 'frames' field from VP9_COMP."

107 min agoMerge "Adding get_frame_pkt_flags() function."
Dmitry Kovalev [Tue, 2 Sep 2014 17:00:51 +0000 (10:00 -0700)]
Merge "Adding get_frame_pkt_flags() function."

2 hours agoUpdates to adaptive/aggressive denoiser mode. 05/71405/1
Marco [Tue, 2 Sep 2014 16:45:37 +0000 (09:45 -0700)]
Updates to adaptive/aggressive denoiser mode.

Parameter changes and modification to zero_last bias.

Change-Id: I50a408d47fde049c562bbe95075194cb0f17c31b

2 hours agoMerge "Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 08"""
Johann [Tue, 2 Sep 2014 16:28:14 +0000 (09:28 -0700)]
Merge "Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 08"""

2 hours agoMerge "Removing lookup_next_frame_stats()."
Dmitry Kovalev [Tue, 2 Sep 2014 16:25:16 +0000 (09:25 -0700)]
Merge "Removing lookup_next_frame_stats()."

3 hours agoMerge "Skip intra mode tests depending on inter residuals"
Jingning Han [Tue, 2 Sep 2014 15:32:52 +0000 (08:32 -0700)]
Merge "Skip intra mode tests depending on inter residuals"

41 hours agoMerge "Replacing asm 8x8 variance calculation with intrinsics."
Dmitry Kovalev [Mon, 1 Sep 2014 01:39:46 +0000 (18:39 -0700)]
Merge "Replacing asm 8x8 variance calculation with intrinsics."

3 days agoRemoving dummy_packing member from VP9_COMP. 03/71303/2
Dmitry Kovalev [Fri, 22 Aug 2014 00:28:44 +0000 (17:28 -0700)]
Removing dummy_packing member from VP9_COMP.

Change-Id: I571ce84c97087f8a1a36a10058393bfdcefbf72a

3 days agoReplacing asm 8x8 variance calculation with intrinsics. 97/71397/3
Dmitry Kovalev [Fri, 29 Aug 2014 21:25:31 +0000 (14:25 -0700)]
Replacing asm 8x8 variance calculation with intrinsics.

New code is 10% faster for 64-bit and 25% faster for 32-bit. Compiled
using clang.

Change-Id: I8ba1544c30dd6f3ca479db806384317549650dfc

3 days agoMerge "Fix int64_t to unsigned int conversion warnings"
Jingning Han [Sat, 30 Aug 2014 00:15:46 +0000 (17:15 -0700)]
Merge "Fix int64_t to unsigned int conversion warnings"

3 days agoMerge "Extend block level sse to support multiple txfm blocks"
Jingning Han [Sat, 30 Aug 2014 00:15:30 +0000 (17:15 -0700)]
Merge "Extend block level sse to support multiple txfm blocks"

3 days agoFix int64_t to unsigned int conversion warnings 82/71382/3
Jingning Han [Thu, 28 Aug 2014 16:21:58 +0000 (09:21 -0700)]
Fix int64_t to unsigned int conversion warnings

Use unsigned int type to store the sse in the pixel domain. The
precision is sufficient to handle sse of block size up to 64x64.
The transform domain version however needs int64_t, since there is
a transfer gain applied in the forward transformation that might
cause unsigned int overflow.

Change-Id: Ifef97c38597e426262290f35341fbb093cf0a079

3 days agoMerge "Removing variance MMX code."
Dmitry Kovalev [Fri, 29 Aug 2014 21:08:02 +0000 (14:08 -0700)]
Merge "Removing variance MMX code."

3 days agoMerge "vp9: sync workers at the start of decode_tiles_mt()"
James Zern [Fri, 29 Aug 2014 21:07:37 +0000 (14:07 -0700)]
Merge "vp9: sync workers at the start of decode_tiles_mt()"

3 days agoMerge "vp9: fix m/t loop filter invalid free"
James Zern [Fri, 29 Aug 2014 21:07:02 +0000 (14:07 -0700)]
Merge "vp9: fix m/t loop filter invalid free"

3 days agoMerge "Minor fix in vp9_encoder.h"
Yunqing Wang [Fri, 29 Aug 2014 20:44:10 +0000 (13:44 -0700)]
Merge "Minor fix in vp9_encoder.h"

3 days agoRevert "Revert "VP8 for ARMv8 by using NEON intrinsics 08"" 98/71298/4
Scott LaVarnway [Fri, 29 Aug 2014 20:29:36 +0000 (13:29 -0700)]
Revert "Revert "VP8 for ARMv8 by using NEON intrinsics 08""

This reverts commit 928ff03889dadc3f63883553b443c08e625b4885

Compiles with 4.6 now.

Change-Id: Ib455da1098bb0e0623248be07579882a425fcbd1

4 days agoMinor fix in vp9_encoder.h 94/71394/1
Yunqing Wang [Fri, 29 Aug 2014 18:27:24 +0000 (11:27 -0700)]
Minor fix in vp9_encoder.h

Added the missing "int".

Change-Id: I7c8af3dee700837b40f010d53e1431a59370ae3a

4 days agovp9: fix m/t loop filter invalid free 87/71387/2
James Zern [Fri, 29 Aug 2014 00:11:31 +0000 (17:11 -0700)]
vp9: fix m/t loop filter invalid free

store the number of allocated rows in VP9LfSync, the calculated values
can not be relied on when dealing with corrupt material.

Change-Id: I13b8bcec9738c299a71df726772ab7ac05511e5b

4 days agoRemoving variance MMX code. 88/71388/3
Dmitry Kovalev [Fri, 29 Aug 2014 00:31:00 +0000 (17:31 -0700)]
Removing variance MMX code.

Removed functions:
* vp9_mse16x16_mmx
* vp9_get_mb_ss_mmx
* vp9_get4x4var_mmx
* vp9_get8x8var_mmx
* vp9_variance4x4_mmx
* vp9_variance8x8_mmx
* vp9_variance16x16_mmx
* vp9_variance16x8_mmx
* vp9_variance8x16_mmx

They all have SSE2 equivalent.

Change-Id: I3796f2477c4f59b35b4828f46a300c16e62a2615

4 days agoSkip intra mode tests depending on inter residuals 91/71391/2
Jingning Han [Fri, 29 Aug 2014 05:58:30 +0000 (22:58 -0700)]
Skip intra mode tests depending on inter residuals

This commit allows encoder to skip intra coding mode test, when
the known inter residual is less than the source variance. It
reduces the runtime of speed 3 for test clips:
bus cif 1000 kbps: 8587 ms -> 8260 ms, 3.8% speed-up
pedestrian 1080p 2000 kbps: 161381 ms -> 155241 ms, 3.7% speed-up.

The compression performance is down by
derf   -0.36%
stdhd  -0.25%

Change-Id: I75ce1e035b4da2153cb1ac14111d1a07c05a735d

4 days agoExtend block level sse to support multiple txfm blocks 81/71381/6
Jingning Han [Thu, 28 Aug 2014 16:09:37 +0000 (09:09 -0700)]
Extend block level sse to support multiple txfm blocks

This commit extends the sse and forward transform computation flag
to support the case 64x64 blocks where there are 4 32x32 2D-DCT
blocks.

Change-Id: I86a3e805dfaa0f3abd812f590520c71aa0e40473

4 days agoMerge "vp9: fix crash in inline loopfilter w/corrupt file"
James Zern [Fri, 29 Aug 2014 01:37:30 +0000 (18:37 -0700)]
Merge "vp9: fix crash in inline loopfilter w/corrupt file"

4 days agoMerge "vp9: fix crash in mt loopfilter w/corrupt file"
James Zern [Fri, 29 Aug 2014 01:36:31 +0000 (18:36 -0700)]
Merge "vp9: fix crash in mt loopfilter w/corrupt file"

4 days agovp9: sync workers at the start of decode_tiles_mt() 89/71389/1
James Zern [Fri, 29 Aug 2014 00:50:38 +0000 (17:50 -0700)]
vp9: sync workers at the start of decode_tiles_mt()

prevents any problems resuming decode after decoding a corrupt frame

Change-Id: Ib7eb1b5c062aebe71074fef1ece32a32822c16be

4 days agoMerge "Implementing 4x4 variance calculation with SSE2."
Dmitry Kovalev [Fri, 29 Aug 2014 00:25:46 +0000 (17:25 -0700)]
Merge "Implementing 4x4 variance calculation with SSE2."

4 days agoImplementing 4x4 variance calculation with SSE2. 77/71377/13
Dmitry Kovalev [Thu, 28 Aug 2014 00:39:44 +0000 (17:39 -0700)]
Implementing 4x4 variance calculation with SSE2.

New SSE2 function is three times faster than MMX one.

Change-Id: I4f387ce9f75b88379176ec7bdc62d86eb5f70fbe

4 days agoRemoving alg_priv from vpx_codec_priv struct. 89/71289/11
Dmitry Kovalev [Thu, 21 Aug 2014 00:02:10 +0000 (17:02 -0700)]
Removing alg_priv from vpx_codec_priv struct.

In order to understand memory layout consider the declaration of the
following structs. The first one is a part of our API:

struct vpx_codec_ctx {
  // ...
  struct vpx_codec_priv *priv;
};

The second one is defined in vpx_codec_internal.h:

struct vpx_codec_priv {
  // ...
};

The following struct is defined 4 times for encoder/decoder VP8/VP9:

struct vpx_codec_alg_priv {
  struct vpx_codec_priv base;
  // ...
};

Private data allocation for the given ctx:

struct vpx_codec_ctx *ctx = <get>
struct vpx_codec_alg_priv *alg_priv = <allocate>
ctx->priv = (struct vpx_codec_priv *)alg_priv;

The cast works because vpx_codec_alg_priv has a
vpx_codec_priv instance as a first member 'base'.

Change-Id: I10d1afc8c9a7dfda50baade8c7b0296678bdb0d0

4 days agoMerge "Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg."
Dmitry Kovalev [Thu, 28 Aug 2014 20:50:05 +0000 (13:50 -0700)]
Merge "Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg."

4 days agoMerge "Early termination in encoding partition search"
Yunqing Wang [Thu, 28 Aug 2014 20:49:39 +0000 (13:49 -0700)]
Merge "Early termination in encoding partition search"

4 days agoMerge "vp8_multi_resolution_encoder: Huge cleanup."
Dmitry Kovalev [Thu, 28 Aug 2014 19:13:29 +0000 (12:13 -0700)]
Merge "vp8_multi_resolution_encoder: Huge cleanup."

4 days agoMerge "test/vp8_multi_resolution_encoder.sh: Add missing devnull redirect."
James Zern [Thu, 28 Aug 2014 18:59:30 +0000 (11:59 -0700)]
Merge "test/vp8_multi_resolution_encoder.sh: Add missing devnull redirect."

5 days agoMerge "Removing unused debug code under WRITE_RECON_BUFFER."
Dmitry Kovalev [Thu, 28 Aug 2014 18:46:45 +0000 (11:46 -0700)]
Merge "Removing unused debug code under WRITE_RECON_BUFFER."

5 days agoMerge "Converting configure_skippable_frame() to is_skippable_frame()."
Dmitry Kovalev [Thu, 28 Aug 2014 18:45:32 +0000 (11:45 -0700)]
Merge "Converting configure_skippable_frame() to is_skippable_frame()."

5 days agoMerge "Renaming vpxenc option from frame_boost to frame-boost."
Dmitry Kovalev [Thu, 28 Aug 2014 18:42:23 +0000 (11:42 -0700)]
Merge "Renaming vpxenc option from frame_boost to frame-boost."

5 days agoMerge "Adding several vpxenc parameter ranges to help output."
Dmitry Kovalev [Thu, 28 Aug 2014 18:42:04 +0000 (11:42 -0700)]
Merge "Adding several vpxenc parameter ranges to help output."

5 days agoEarly termination in encoding partition search 83/71383/3
Yunqing Wang [Fri, 15 Aug 2014 00:25:21 +0000 (17:25 -0700)]
Early termination in encoding partition search

In the partition search, the encoder checks all possible
partitionings in the superblock's partition search tree.
This patch proposed a set of criteria for partition search
early termination, which effectively decided whether or
not to terminate the search in current branch based on the
"skippable" result of the quantized transform coefficients.
The "skippable" information was gathered during the
partition mode search, and no overhead calculations were
introduced.

This patch gives significant encoding speed gains without
sacrificing the quality.

Borg test results:
1. At speed 1,
   stdhd set: psnr: +0.074%, ssim: +0.093%;
   derf set:  psnr: -0.024%, ssim: +0.011%;
2. At speed 2,
   stdhd set: psnr: +0.033%, ssim: +0.100%;
   derf set:  psnr: -0.062%, ssim: +0.003%;
3. At speed 3,
   stdhd set: psnr: +0.060%, ssim: +0.190%;
   derf set:  psnr: -0.064%, ssim: -0.002%;
4. At speed 4,
   stdhd set: psnr: +0.070%, ssim: +0.143%;
   derf set:  psnr: -0.104%, ssim: +0.039%;

The speedup ranges from several percent to 60+%.
                 speed1    speed2    speed3    speed4
(1080p, 100f):
old_town_cross:  48.2%     23.9%     20.8%     16.5%
park_joy:        11.4%     17.8%     29.4%     18.2%
pedestrian_area: 10.7%      4.0%      4.2%      2.4%
(720p, 200f):
mobcal:          68.1%     36.3%     34.4%     17.7%
parkrun:         15.8%     24.2%     37.1%     16.8%
shields:         45.1%     32.8%     30.1%      9.6%
(cif, 300f)
bus:              3.7%     10.4%     14.0%      7.9%
deadline:        13.6%     14.8%     12.6%     10.9%
mobile:           5.3%     11.5%     14.7%     10.7%

Change-Id: I246c38fb952ad762ce5e365711235b605f470a66

5 days agovp8_multi_resolution_encoder: Huge cleanup. 64/71364/6
Dmitry Kovalev [Tue, 26 Aug 2014 22:54:00 +0000 (15:54 -0700)]
vp8_multi_resolution_encoder: Huge cleanup.

Change-Id: I65b2c1fbed5a306949843315999d10368a100431

5 days agotest/vp8_multi_resolution_encoder.sh: Add missing devnull redirect. 84/71384/1
Tom Finegan [Thu, 28 Aug 2014 17:49:33 +0000 (10:49 -0700)]
test/vp8_multi_resolution_encoder.sh: Add missing devnull redirect.

Change-Id: Id60ae8178191e30603a5c8665793ace7eb9c8533

5 days agoAdding several vpxenc parameter ranges to help output. 55/71355/4
Dmitry Kovalev [Tue, 26 Aug 2014 06:46:45 +0000 (23:46 -0700)]
Adding several vpxenc parameter ranges to help output.

Change-Id: Iec1a00203930a539ed584961aed4b2bfd7488255

5 days agoMerge "Updates vp9_pattern search to return integer sads"
Deb Mukherjee [Thu, 28 Aug 2014 16:38:56 +0000 (09:38 -0700)]
Merge "Updates vp9_pattern search to return integer sads"

5 days agoMerge "Replacing int_mv with MV."
Dmitry Kovalev [Thu, 28 Aug 2014 16:18:11 +0000 (09:18 -0700)]
Merge "Replacing int_mv with MV."

5 days agoUpdates vp9_pattern search to return integer sads 73/71373/4
Deb Mukherjee [Wed, 27 Aug 2014 21:06:30 +0000 (14:06 -0700)]
Updates vp9_pattern search to return integer sads

Updates the vp9_pattern_search function to return integer one-away
neighbors' sad values, for subsequent use in speeding up the
sub-pel search. Also, removes code for the do_refine option
which is not being used currently.
Updates the integer and subpel functions to pass in a 5-element
sad list for output or input.

A new pruned sub-pel search algorithm is implemented that uses
the sad returned from the integer pel search. But it is not
deployed yet.

Change-Id: Ifa9f5ad024b5b660570366d2bd900343e1891520

5 days agoMerge "Re-work RD modeling based on inter frame prediction residual"
Jingning Han [Thu, 28 Aug 2014 01:48:49 +0000 (18:48 -0700)]
Merge "Re-work RD modeling based on inter frame prediction residual"

5 days agoMerge "Re-use switchable rate value in handle_inter_mode"
Jingning Han [Thu, 28 Aug 2014 01:48:41 +0000 (18:48 -0700)]
Merge "Re-use switchable rate value in handle_inter_mode"

5 days agoMerge "Add an early termination check in handle_inter_mode"
Jingning Han [Thu, 28 Aug 2014 01:48:32 +0000 (18:48 -0700)]
Merge "Add an early termination check in handle_inter_mode"

5 days agoMerge "Use max txfm size unit in rate-distortion cost modeling"
Jingning Han [Thu, 28 Aug 2014 01:48:24 +0000 (18:48 -0700)]
Merge "Use max txfm size unit in rate-distortion cost modeling"

5 days agovp9: fix crash in inline loopfilter w/corrupt file 76/71376/1
James Zern [Wed, 27 Aug 2014 23:29:34 +0000 (16:29 -0700)]
vp9: fix crash in inline loopfilter w/corrupt file

attempting to decode a frame after the previous frame failed has the
potential of interrupting an earlier loop filter task

Change-Id: I6f2b1ddcdf5b89c3e2ee8caf5289dada2a087d66

5 days agoAdd test for vp8_multi_resolution_encoder. 74/71374/2
Tom Finegan [Wed, 27 Aug 2014 22:48:44 +0000 (15:48 -0700)]
Add test for vp8_multi_resolution_encoder.

Change-Id: I94667a23046e3cf17c421ac97ca66ea57f846b5c

5 days agoRe-work RD modeling based on inter frame prediction residual 68/71368/2
Jingning Han [Tue, 26 Aug 2014 23:52:56 +0000 (16:52 -0700)]
Re-work RD modeling based on inter frame prediction residual

This commit re-work the operation flow related to prediction
residual generation and the rate-distortion modeling. It saves one
call for model_rd_for_sb.

Change-Id: Icaf96c0ff09c903637ed5283448afe01d798195f

5 days agoRe-use switchable rate value in handle_inter_mode 66/71366/2
Jingning Han [Tue, 26 Aug 2014 23:06:28 +0000 (16:06 -0700)]
Re-use switchable rate value in handle_inter_mode

The value of switchable rate has been stored in a local variable.
This change skips the second call to vp9_get_switchable_rate() by
reusing the local variable.

Change-Id: Ib7d3fef7621cc4bde94c6d6e6b3a71f1fd4559f2

5 days agoAdd an early termination check in handle_inter_mode 65/71365/2
Jingning Han [Tue, 26 Aug 2014 22:53:56 +0000 (15:53 -0700)]
Add an early termination check in handle_inter_mode

Check the mode and motion vector cost. If it is already above
the existing best rate-distortion cost, skip the rest check process
on this mode.

Change-Id: Ie065cebdfda2a3be3be18b8e8b43dc29aaa8c179

5 days agoUse max txfm size unit in rate-distortion cost modeling 61/71361/4
Jingning Han [Tue, 26 Aug 2014 19:34:54 +0000 (12:34 -0700)]
Use max txfm size unit in rate-distortion cost modeling

This commit makes the rate distortion modeling run in the unit of
maximum transform block size. No compression/speed change observed.
It is for the use of later fast forward transform purpose.

Change-Id: Ibaaedb69c765e8d0c5d5012f0ec07f36fd9f68fd

5 days agovp9: fix crash in mt loopfilter w/corrupt file 72/71372/2
James Zern [Wed, 27 Aug 2014 19:36:23 +0000 (12:36 -0700)]
vp9: fix crash in mt loopfilter w/corrupt file

if the first frame was corrupt and loop filter not called, the next call
would assume the necessary allocations had been done and segfault when
accessing a NULL pointer

Change-Id: Ib6ef505e5c594e6f0fe65ab0700172bcf06b92a6

6 days agoAdd a separate datarate test for denoiser enabled. 71/71371/4
Marco [Wed, 27 Aug 2014 16:40:30 +0000 (09:40 -0700)]
Add a separate datarate test for denoiser enabled.

Change-Id: Ibc91a46d11ad9c58e340b4346ed813a1be9b404a

6 days agoMerge "add a new interp filter search strategy."
Yaowu Xu [Wed, 27 Aug 2014 00:30:42 +0000 (17:30 -0700)]
Merge "add a new interp filter search strategy."

6 days agoMerge "Enable denoiser for vp8 datarate tests."
Marco [Wed, 27 Aug 2014 00:04:37 +0000 (17:04 -0700)]
Merge "Enable denoiser for vp8 datarate tests."

6 days agoEnable denoiser for vp8 datarate tests. 60/71360/3
Marco [Tue, 26 Aug 2014 18:21:04 +0000 (11:21 -0700)]
Enable denoiser for vp8 datarate tests.

Keep one test, BasicBufferModel, with denoiser set off.

Change-Id: I762c2004b3adca24f677535cfa5b991108f31f01

6 days agoAdding get_frame_pkt_flags() function. 62/71362/1
Dmitry Kovalev [Tue, 26 Aug 2014 21:32:51 +0000 (14:32 -0700)]
Adding get_frame_pkt_flags() function.

Change-Id: Icfacc695a711ec325b1d8f2b5d927a720e2bd6b4

6 days agoMerge "gen_msvs_(vcx)proj.sh: set yasm format explicitly"
James Zern [Tue, 26 Aug 2014 19:53:53 +0000 (12:53 -0700)]
Merge "gen_msvs_(vcx)proj.sh: set yasm format explicitly"

7 days agoMerge "vp8 fix: deallocate denoiser->yv12_last_source"
Marco [Tue, 26 Aug 2014 18:16:27 +0000 (11:16 -0700)]
Merge "vp8 fix: deallocate denoiser->yv12_last_source"

7 days agoReplacing int_mv with MV. 58/71358/1
Dmitry Kovalev [Tue, 26 Aug 2014 17:53:05 +0000 (10:53 -0700)]
Replacing int_mv with MV.

Change-Id: I483a2fefc5f9ea4533dfd64448f3b6b426dd9eed

7 days agoMerge "Set scaled img format correctly in vpxdec"
Deb Mukherjee [Tue, 26 Aug 2014 17:36:47 +0000 (10:36 -0700)]
Merge "Set scaled img format correctly in vpxdec"

7 days agoMerge "twopass_encoder: Flush encoder."
Dmitry Kovalev [Tue, 26 Aug 2014 17:35:54 +0000 (10:35 -0700)]
Merge "twopass_encoder: Flush encoder."

7 days agoMerge "vpxenc.sh: Move some frequently used params into functions."
Tom Finegan [Tue, 26 Aug 2014 17:18:58 +0000 (10:18 -0700)]
Merge "vpxenc.sh: Move some frequently used params into functions."

7 days agovp8 fix: deallocate denoiser->yv12_last_source 57/71357/1
Marco [Tue, 26 Aug 2014 17:12:43 +0000 (10:12 -0700)]
vp8 fix: deallocate denoiser->yv12_last_source

Change-Id: I7f3bc292b1b411e10586f0975143ae996ea78d1d

7 days agoadd a new interp filter search strategy. 44/71344/4
Yaowu Xu [Wed, 20 Aug 2014 18:17:05 +0000 (11:17 -0700)]
add a new interp filter search strategy.

This commit addes a new strategy to reduce the search for optimal
interpolation filter type. The encoder counts and store how many each
filter type is selected and used for each of the reference frames.
A filter type that is rarely used for all three reference frames is
masked out to avoid computation.

The impact on compression is neglectible:
-0.02% on derf
+0.02% on stdhd

Encoding time is seen to reduce by 2~3%.

Change-Id: Ibafa92291b51185de40da513716222db4b230383

7 days agoRemoving unused arnr_type from VP9EncoderConfig and vp9_extracfg. 53/71353/2
Dmitry Kovalev [Tue, 26 Aug 2014 06:48:52 +0000 (23:48 -0700)]
Removing unused arnr_type from VP9EncoderConfig and vp9_extracfg.

Change-Id: Icab9a4399c5687453f4bec14b8cb5000464335e5

7 days agoRemoving 'frames' field from VP9_COMP. 52/71352/1
Dmitry Kovalev [Tue, 26 Aug 2014 06:27:08 +0000 (23:27 -0700)]
Removing 'frames' field from VP9_COMP.

Using local variable instead.

Change-Id: If592d73ba2b04972cdae938751155c183a6db25a

7 days agotwopass_encoder: Flush encoder. 47/71347/2
Dmitry Kovalev [Mon, 25 Aug 2014 22:29:20 +0000 (15:29 -0700)]
twopass_encoder: Flush encoder.

Change-Id: Ib04a545b43f3a36c6df7eaf3ed2d802cf41119bb

7 days agoMerge "Removing non-executable code from encoder_encode()."
Dmitry Kovalev [Tue, 26 Aug 2014 01:59:17 +0000 (18:59 -0700)]
Merge "Removing non-executable code from encoder_encode()."

7 days agoMerge "Removing tx_stepdown_count from VP9_COMP."
Dmitry Kovalev [Tue, 26 Aug 2014 01:37:40 +0000 (18:37 -0700)]
Merge "Removing tx_stepdown_count from VP9_COMP."

7 days agoMerge "Adding oxcf temp variable."
Dmitry Kovalev [Tue, 26 Aug 2014 01:37:33 +0000 (18:37 -0700)]
Merge "Adding oxcf temp variable."

7 days agoMerge "Adding is_keyframe temp var."
Dmitry Kovalev [Tue, 26 Aug 2014 01:36:59 +0000 (18:36 -0700)]
Merge "Adding is_keyframe temp var."

7 days agoRenaming vpxenc option from frame_boost to frame-boost. 50/71350/1
Dmitry Kovalev [Tue, 26 Aug 2014 01:34:20 +0000 (18:34 -0700)]
Renaming vpxenc option from frame_boost to frame-boost.

We use dashes, no underscores.

Change-Id: I423eee946d10731856e15591eb6e9e4628e3ee6c

7 days agoRemoving non-executable code from encoder_encode(). 48/71348/2
Dmitry Kovalev [Mon, 25 Aug 2014 23:48:31 +0000 (16:48 -0700)]
Removing non-executable code from encoder_encode().

We don't output invisible frames with VP9.

Change-Id: I7b874d3ac454c1b2966d5d7d72e12a864b49afae

7 days agoMerge "Passing const cfg pointer to vpx_codec_{dec,enc}_init_ver()."
Dmitry Kovalev [Mon, 25 Aug 2014 22:17:46 +0000 (15:17 -0700)]
Merge "Passing const cfg pointer to vpx_codec_{dec,enc}_init_ver()."

7 days agovpxenc.sh: Move some frequently used params into functions. 46/71346/2
Tom Finegan [Mon, 25 Aug 2014 21:57:42 +0000 (14:57 -0700)]
vpxenc.sh: Move some frequently used params into functions.

Echo args back from new util functions to decrease the repetition
in this file.

Change-Id: Id4d7c02bf81cf2c5261f58b560e033869a346677

7 days agoRemoving tx_stepdown_count from VP9_COMP. 45/71345/1
Dmitry Kovalev [Mon, 25 Aug 2014 21:42:05 +0000 (14:42 -0700)]
Removing tx_stepdown_count from VP9_COMP.

The variable is never read.

Change-Id: I94141c1667fa5d10604cd6f83c5f64df107dee94

7 days agoMerge "[spatial svc]Multiple frame context feature"
Minghai Shang [Mon, 25 Aug 2014 21:29:49 +0000 (14:29 -0700)]
Merge "[spatial svc]Multiple frame context feature"

7 days agoMerge "vpxenc.sh: Make vpxenc() usage agree with implementation."
Tom Finegan [Mon, 25 Aug 2014 21:29:44 +0000 (14:29 -0700)]
Merge "vpxenc.sh: Make vpxenc() usage agree with implementation."

7 days agoMerge "twopass_encoder: Separate functions for first and second pass."
Dmitry Kovalev [Mon, 25 Aug 2014 21:29:14 +0000 (14:29 -0700)]
Merge "twopass_encoder: Separate functions for first and second pass."

7 days agovpxenc.sh: Make vpxenc() usage agree with implementation. 00/71300/2
Tom Finegan [Thu, 21 Aug 2014 23:30:37 +0000 (16:30 -0700)]
vpxenc.sh: Make vpxenc() usage agree with implementation.

- Make $1 input file at all call sites.
- Actually use vpxenc_pipe().

Change-Id: I22f25719aeb3dce60863207b2e2a49e42e27ed06

7 days agoMerge "vpxenc.sh: Add real time tests."
Tom Finegan [Mon, 25 Aug 2014 21:27:11 +0000 (14:27 -0700)]
Merge "vpxenc.sh: Add real time tests."

7 days agoPassing const cfg pointer to vpx_codec_{dec,enc}_init_ver(). 43/71343/3
Dmitry Kovalev [Mon, 25 Aug 2014 21:02:53 +0000 (14:02 -0700)]
Passing const cfg pointer to vpx_codec_{dec,enc}_init_ver().

Change-Id: I3e319f581215ccb814afca247c1d911be231a4ac

7 days agoMerge "Replacing int_mv with MV inside the first pass code."
Dmitry Kovalev [Mon, 25 Aug 2014 20:56:14 +0000 (13:56 -0700)]
Merge "Replacing int_mv with MV inside the first pass code."

7 days agoMerge "Cleaning up is_background()."
Dmitry Kovalev [Mon, 25 Aug 2014 20:27:03 +0000 (13:27 -0700)]
Merge "Cleaning up is_background()."

7 days agotwopass_encoder: Separate functions for first and second pass. 41/71341/1
Dmitry Kovalev [Mon, 25 Aug 2014 19:56:32 +0000 (12:56 -0700)]
twopass_encoder: Separate functions for first and second pass.

Change-Id: Ic5e3ff5f572ed55d7dd3df8c606e57daacf885dc

7 days agoMerge "Removing source field from VP9_COMP."
Dmitry Kovalev [Mon, 25 Aug 2014 19:53:19 +0000 (12:53 -0700)]
Merge "Removing source field from VP9_COMP."

7 days agoMerge "Removing is_best_mode() function."
Dmitry Kovalev [Mon, 25 Aug 2014 19:52:35 +0000 (12:52 -0700)]
Merge "Removing is_best_mode() function."

7 days agoCleaning up is_background(). 39/71339/1
Dmitry Kovalev [Mon, 25 Aug 2014 18:55:30 +0000 (11:55 -0700)]
Cleaning up is_background().

Change-Id: I2b9609dd22bacbf26e669f70bf155613b0316eb3

8 days ago[spatial svc]Multiple frame context feature 07/71207/8
Minghai Shang [Mon, 18 Aug 2014 21:51:04 +0000 (14:51 -0700)]
[spatial svc]Multiple frame context feature

We can use one frame context for each layer so that we don't have
to reset the probs every frame. But we can't use prev_mi since we
may drop enhancement layers. So we have to generate a non vp9
compatible bitstream and modify it in the player.
1. We need to code all frames as invisible frame to let prev_mi
   not to be used. But in the bitstream we need to code the
   show_frame flag to 1 so that the publisher will know it's
   supposed to be a visible frame.
2. In the player we need to change the show_frame flag to 0 for
   all frames. Then add an one byte frame into the super frame
   to tell the decoder which layer we want to show.
Change-Id: I75b7304cf31f0ab952f043e33c034495e88f01f3

8 days agoMerge "enable wextra in vp9"
Jim Bankoski [Mon, 25 Aug 2014 13:40:22 +0000 (06:40 -0700)]
Merge "enable wextra in vp9"

8 days agoMerge "vp9_calc_ssim: remove unused parm to resolve warning"
Jim Bankoski [Mon, 25 Aug 2014 13:39:49 +0000 (06:39 -0700)]
Merge "vp9_calc_ssim: remove unused parm to resolve warning"

8 days agoMerge "vp9_denoiser_update_frame_stats: unused parm fixed"
Jim Bankoski [Mon, 25 Aug 2014 13:39:23 +0000 (06:39 -0700)]
Merge "vp9_denoiser_update_frame_stats: unused parm fixed"

8 days agoMerge "vp9_postproc.c: unused parameter warning resolved"
Jim Bankoski [Mon, 25 Aug 2014 13:39:12 +0000 (06:39 -0700)]
Merge "vp9_postproc.c: unused parameter warning resolved"

10 days agoinvalid_file_test: correct HandlePeekResult signature 36/71336/1
James Zern [Sat, 23 Aug 2014 06:06:13 +0000 (23:06 -0700)]
invalid_file_test: correct HandlePeekResult signature

restore const lost in:
f0f9ab6 invalid_file_test.cc: remove unused param warnings

Change-Id: I0c5318f84c81e3dd7bb44468463faf9edd6bc18a

10 days agoMerge "vpxdec: fix --keep-going with --disable-vp8"
James Zern [Sat, 23 Aug 2014 02:52:52 +0000 (19:52 -0700)]
Merge "vpxdec: fix --keep-going with --disable-vp8"

10 days agoMerge "add libyuv/scale_neon64.cc"
James Zern [Sat, 23 Aug 2014 02:46:05 +0000 (19:46 -0700)]
Merge "add libyuv/scale_neon64.cc"