platform/upstream/libvpx.git
9 years agoAdd non420 code in multi-threaded loopfilter
Yunqing Wang [Fri, 16 Jan 2015 23:47:25 +0000 (15:47 -0800)]
Add non420 code in multi-threaded loopfilter

Added non420 part back to make it consistent with single
thread code in vp9_loopfilter.c.

Change-Id: I8ca255d73bffebae294d2627d6655eafe535cb90

9 years agoMerge "vp9_ethread: add parallel loopfilter"
Yunqing Wang [Tue, 20 Jan 2015 17:27:08 +0000 (09:27 -0800)]
Merge "vp9_ethread: add parallel loopfilter"

9 years agoMerge "Add vp9_highbitdepth info in configure --help"
Yaowu Xu [Tue, 20 Jan 2015 16:55:16 +0000 (08:55 -0800)]
Merge "Add vp9_highbitdepth info in configure --help"

9 years agoFix variance Neon intrinsics > 32x32
Frank Galligan [Sat, 17 Jan 2015 03:30:45 +0000 (19:30 -0800)]
Fix variance Neon intrinsics > 32x32

The 16 bit sum vector was overflowing.

Change-Id: I0fdf38e832ee99457ec8680a92691a6175ff8c3f

9 years agovp9_ethread: add parallel loopfilter
Yunqing Wang [Tue, 6 Jan 2015 22:14:26 +0000 (14:14 -0800)]
vp9_ethread: add parallel loopfilter

1. Added row-based loopfilter in encoder;
2. Moved common multi-threaded loopfilter functions from decoder
   to common;
3. Merged multi-threaded loopfilter code, and made encoder/
   decoder call same function to reduce code duplication.

Encoder tests showed that 1% - 2% speedup was seen for good-quality
2-pass mode(at speed 3); 1% - 3% speedup using 2 threads and 4% - 6%
speedup using 4 threads were seen for real-time mode(at speed 7).

Change-Id: I8a4ac51c2ad9bab9fa7b864e90743931c53ec1c4

9 years agoMerge "Fix frame buffer swap in denoiser"
Jingning Han [Sat, 17 Jan 2015 00:58:37 +0000 (16:58 -0800)]
Merge "Fix frame buffer swap in denoiser"

9 years agoMerge "[two pass temporal svc]Fix crash issue in transcoder app caused by last fix."
Minghai Shang [Fri, 16 Jan 2015 23:00:20 +0000 (15:00 -0800)]
Merge "[two pass temporal svc]Fix crash issue in transcoder app caused by last fix."

9 years agoFix frame buffer swap in denoiser
Jingning Han [Fri, 16 Jan 2015 17:03:40 +0000 (09:03 -0800)]
Fix frame buffer swap in denoiser

This commit fixes a bug in denoiser reference frame buffer swap,
which disables frame buffer update.

Change-Id: I39a9427180fd18f9692602064ad821f7af4714c0

9 years agoAdd vp9_highbitdepth info in configure --help
Yaowu Xu [Fri, 16 Jan 2015 19:15:02 +0000 (11:15 -0800)]
Add vp9_highbitdepth info in configure --help

Change-Id: I89497a483117fc472be3a836070109498258140d

9 years ago[two pass temporal svc]Fix crash issue in transcoder app caused by last fix.
Minghai Shang [Thu, 15 Jan 2015 23:44:11 +0000 (15:44 -0800)]
[two pass temporal svc]Fix crash issue in transcoder app caused by last fix.

Change-Id: I78ecc8ec3fa3ba5f69bb23813e68a5255d0534e1

9 years agoFix color_space enum comments for doxygen
Yaowu Xu [Thu, 15 Jan 2015 21:40:16 +0000 (13:40 -0800)]
Fix color_space enum comments for doxygen

Change-Id: I14f1708908a0b68b7f4c8e039dbec138c14c5ae4

9 years agoFix doxygen warning with usage.dox
Yaowu Xu [Thu, 15 Jan 2015 19:42:04 +0000 (11:42 -0800)]
Fix doxygen warning with usage.dox

Change-Id: I3ee8974a66f186fb0eb15b1078a3c7b9cbf5ec80

9 years agoRemove obsolete doxygen tags
Yaowu Xu [Thu, 15 Jan 2015 02:09:14 +0000 (18:09 -0800)]
Remove obsolete doxygen tags

Change-Id: I38a42ed1d0be4fbfce6c9f3f5d021055107933d7

9 years agoMerge "Fix comments for doxygen"
Yaowu Xu [Thu, 15 Jan 2015 18:46:20 +0000 (10:46 -0800)]
Merge "Fix comments for doxygen"

9 years agoMerge "Align thread data in vp9_ethread"
Yunqing Wang [Thu, 15 Jan 2015 17:21:31 +0000 (09:21 -0800)]
Merge "Align thread data in vp9_ethread"

9 years agoFix comments for doxygen
Yaowu Xu [Tue, 13 Jan 2015 22:32:09 +0000 (14:32 -0800)]
Fix comments for doxygen

Change-Id: Iaad3dc3cdd25275939b475706eb7d136a5a10174

9 years agoMerge "Clarify purpose of VP9_INVERT_TILE_DECODE_ORDER"
Yaowu Xu [Thu, 15 Jan 2015 04:25:18 +0000 (20:25 -0800)]
Merge "Clarify purpose of VP9_INVERT_TILE_DECODE_ORDER"

9 years agoMerge "Add comments for two SVC related controls"
Yaowu Xu [Thu, 15 Jan 2015 01:53:49 +0000 (17:53 -0800)]
Merge "Add comments for two SVC related controls"

9 years agoMerge "Add comments for two SVC related controls"
Yaowu Xu [Thu, 15 Jan 2015 01:53:42 +0000 (17:53 -0800)]
Merge "Add comments for two SVC related controls"

9 years agoMerge "Add comments for control VP9E_SET_TUNE_CONTENT"
Yaowu Xu [Thu, 15 Jan 2015 00:28:57 +0000 (16:28 -0800)]
Merge "Add comments for control VP9E_SET_TUNE_CONTENT"

9 years agoMerge "Add comments for VP9E_SET_FRAME_PERIODIC_BOOST"
Yaowu Xu [Thu, 15 Jan 2015 00:28:41 +0000 (16:28 -0800)]
Merge "Add comments for VP9E_SET_FRAME_PERIODIC_BOOST"

9 years agoClarify purpose of VP9_INVERT_TILE_DECODE_ORDER
Yaowu Xu [Tue, 13 Jan 2015 20:19:46 +0000 (12:19 -0800)]
Clarify purpose of VP9_INVERT_TILE_DECODE_ORDER

Change-Id: I1eb98f4576994c5c9fa5ba748d85cd186910ee4f

9 years agoAlign thread data in vp9_ethread
Yunqing Wang [Wed, 14 Jan 2015 23:51:56 +0000 (15:51 -0800)]
Align thread data in vp9_ethread

On some platforms, such as 32bit Windows and 32bit Mac, the allocated
memory isn't aligned automatically. The thread data is aligned to
ensure the correct access in SIMD code.

Change-Id: I1108c145fe982ddbd3d9324952758297120e4806

9 years agoMerge "Fix comments for encoder controls"
Yaowu Xu [Wed, 14 Jan 2015 23:32:35 +0000 (15:32 -0800)]
Merge "Fix comments for encoder controls"

9 years agoMerge "Add encoder control for setting color space"
Yaowu Xu [Wed, 14 Jan 2015 22:14:34 +0000 (14:14 -0800)]
Merge "Add encoder control for setting color space"

9 years agoMerge "Switch remaining Neon variance functions to shifts"
Frank Galligan [Wed, 14 Jan 2015 20:17:42 +0000 (12:17 -0800)]
Merge "Switch remaining Neon variance functions to shifts"

9 years agoMerge "Add 64x64 sub_pel_variance Neon function"
Frank Galligan [Wed, 14 Jan 2015 20:17:20 +0000 (12:17 -0800)]
Merge "Add 64x64 sub_pel_variance Neon function"

9 years agoAdd comments for two SVC related controls
Yaowu Xu [Wed, 14 Jan 2015 20:02:46 +0000 (12:02 -0800)]
Add comments for two SVC related controls

VP9E_SET_SVC
VP9E_SET_SVC_PARAMETERS

Change-Id: Ie32ffad48b6b53c5a2c44c42ec655bfedf8d2903

9 years agoAdd comments for two SVC related controls
Yaowu Xu [Wed, 14 Jan 2015 19:48:29 +0000 (11:48 -0800)]
Add comments for two SVC related controls

VP9E_GET_SVC_LAYER_ID
VP9E_REGISTER_CX_CALLBACK

Change-Id: I92060bde1a4830268c8e07190d4ee4c37bc05334

9 years agoAdd comments for control VP9E_SET_TUNE_CONTENT
Yaowu Xu [Wed, 14 Jan 2015 19:17:09 +0000 (11:17 -0800)]
Add comments for control VP9E_SET_TUNE_CONTENT

Change-Id: If1fb5d9f1545cb9753eeda22e699b1ab778452b4

9 years agoAdd comments for VP9E_SET_FRAME_PERIODIC_BOOST
Yaowu Xu [Wed, 14 Jan 2015 17:07:02 +0000 (09:07 -0800)]
Add comments for VP9E_SET_FRAME_PERIODIC_BOOST

Change-Id: Id6decd0024b87da82d85d62ec2f4bdff416faa39

9 years agoFix comments for encoder controls
Yaowu Xu [Tue, 13 Jan 2015 20:39:42 +0000 (12:39 -0800)]
Fix comments for encoder controls

This commit added coments for the following encoder controls:
VP9E_SET_LOSSLESS
VP9E_SET_TILE_COLUMNS
VP9E_SET_TILE_ROWS
VP9E_SET_FRAME_PARALLEL_DECODING
VP9E_SET_AQ_MODE

Change-Id: I2f75afd9cce01394f202b8e25f36bf763be0ddeb

9 years agoAdd encoder control for setting color space
Yaowu Xu [Tue, 13 Jan 2015 18:07:20 +0000 (10:07 -0800)]
Add encoder control for setting color space

This commit adds encoder side control for vp9 to set color space info
in the output compressed bitstream.

It also amends the "vp9_encoder_params_get_to_decoder" test to verify
the correct color space information is passed from the encoder end to
decoder end.

Change-Id: Ibf5fba2edcb2a8dc37557f6fae5c7816efa52650

9 years agoMerge "Enable decoder to pass through color space info"
Yaowu Xu [Wed, 14 Jan 2015 18:04:15 +0000 (10:04 -0800)]
Merge "Enable decoder to pass through color space info"

9 years agoAdd 64x64 sub_pel_variance Neon function
Frank Galligan [Wed, 14 Jan 2015 07:01:06 +0000 (23:01 -0800)]
Add 64x64 sub_pel_variance Neon function

On Nexus 7 speed -5, -6, -7, and -8 saw about a 15% increase
in perf for 480p. Speeds -5, -6, -7, and -8 saw about a 10%
increase in perf for 720p.

Tested on Nexus 7, built with ndk r10d, gcc 4.9.

Change-Id: I2fa5315845e3021c9a6e2ea47e52e68b398d8334

9 years agoSwitch remaining Neon variance functions to shifts
Frank Galligan [Wed, 14 Jan 2015 15:22:49 +0000 (07:22 -0800)]
Switch remaining Neon variance functions to shifts

Saves 5 instructions on 8x8 and 16x16 and 8 instructions
on 32x32, when compiled with 4.9.

Change-Id: Id3da613a36a9d27d8c5169c59ba45d247c920c6c

9 years agoMerge "Add 64x variance Neon functions"
Frank Galligan [Wed, 14 Jan 2015 06:38:58 +0000 (22:38 -0800)]
Merge "Add 64x variance Neon functions"

9 years ago[twopass temporal svc] Fix decoding error on seek.
Minghai Shang [Tue, 13 Jan 2015 23:39:04 +0000 (15:39 -0800)]
[twopass temporal svc] Fix decoding error on seek.

Don't put small empty frame in front of a key frame. We will
put key frame flag in webm container if there's a visible key
frame. But there will be decoding error when we seek to here
if we put the small empty frame, which will be inter frame,
in front of it.

Change-Id: Id50c2c1fd31da0405ff6faa7375cc2f49c55402d

9 years agoEnable decoder to pass through color space info
Yaowu Xu [Fri, 9 Jan 2015 21:04:48 +0000 (13:04 -0800)]
Enable decoder to pass through color space info

This commit added a field to vpx_image_t for indicating color space,
the field is also added to YUV_BUFFER_CONFIG. This allows the color
space information pass through the decoder from input stream to the
output buffer.

The commit also updated compare_img() function with added verification
of matching color space to ensure the color space information to be
correctly passed from encode to decoder in compressed vp9 streams.

Change-Id: I412776ec83defd8a09d76759aeb057b8fa690371

9 years agoAdd 64x variance Neon functions
Frank Galligan [Tue, 13 Jan 2015 19:15:24 +0000 (11:15 -0800)]
Add 64x variance Neon functions

Add optimized Neon functions of:
vp9_variance32x64
vp9_variance64x32
vp9_variance64x64

On Nexus 7 speed -5 and -6 saw about a 4% increase in perf.
Speeds -7 and -8 saw about a 6% increase in perf.
Tested on Nexus 7, built with ndk r10d, gcc 4.9.

Change-Id: I5a81f13c9897eb927fa39662530f5524a0f768fa

9 years agoMerge "Added plumbing for setting color space"
Yaowu Xu [Tue, 13 Jan 2015 17:20:13 +0000 (09:20 -0800)]
Merge "Added plumbing for setting color space"

9 years agoMerge "Unit test for turning VP8 denoiser on/off periodically."
JackyChen [Tue, 13 Jan 2015 01:33:34 +0000 (17:33 -0800)]
Merge "Unit test for turning VP8 denoiser on/off periodically."

9 years agovp8: Fix to crash in pick_inter.
Marco [Sun, 11 Jan 2015 23:26:44 +0000 (15:26 -0800)]
vp8: Fix to crash in pick_inter.

Added unittest that triggers the crash without this fix.

Issue: https://code.google.com/p/webm/issues/detail?id=911

Change-Id: If5208ceb210c821891675fdf3d9951ab83d52ae6

9 years agoMerge "Fix comments and color format"
Yaowu Xu [Sun, 11 Jan 2015 22:01:36 +0000 (14:01 -0800)]
Merge "Fix comments and color format"

9 years agoUnit test for turning VP8 denoiser on/off periodically.
JackyChen [Thu, 8 Jan 2015 21:10:50 +0000 (13:10 -0800)]
Unit test for turning VP8 denoiser on/off periodically.

Change-Id: Id537d1126f25c0218adcfb4d6ee641ee81a2169a

9 years agoAdded plumbing for setting color space
Yaowu Xu [Fri, 9 Jan 2015 18:52:33 +0000 (10:52 -0800)]
Added plumbing for setting color space

Change-Id: If64052cc6e404abc8a64a889f42930d14fad21d3

9 years agoFix comments and color format
Yaowu Xu [Fri, 9 Jan 2015 18:36:43 +0000 (10:36 -0800)]
Fix comments and color format

Replaced "color space" with "color format" in comments where color
sampling format is concerned, so to differentiate from the concept
defined in COLOR_SPACE.

Change-Id: I8c935034c166b24307a99352dab1686531276bb8

9 years agoMerge "Use 64 bit to accumulate frame sse."
Paul Wilkins [Fri, 9 Jan 2015 14:05:11 +0000 (06:05 -0800)]
Merge "Use 64 bit to accumulate frame sse."

9 years agoMerge "Refactor mc reference block fetch in denoiser"
Jingning Han [Fri, 9 Jan 2015 01:56:53 +0000 (17:56 -0800)]
Merge "Refactor mc reference block fetch in denoiser"

9 years agoMerge "vp9: add per-tile longjmp error handling"
James Zern [Thu, 8 Jan 2015 23:53:37 +0000 (15:53 -0800)]
Merge "vp9: add per-tile longjmp error handling"

9 years agoMerge "vp9: fix -Wclobbered (longjmp + local variables)"
James Zern [Thu, 8 Jan 2015 23:53:02 +0000 (15:53 -0800)]
Merge "vp9: fix -Wclobbered (longjmp + local variables)"

9 years agoMerge "Use lookup table to find pixel numbers in block"
Jingning Han [Thu, 8 Jan 2015 21:58:35 +0000 (13:58 -0800)]
Merge "Use lookup table to find pixel numbers in block"

9 years agoMerge "Disable vp9 _8_ loopfilters"
Johann [Thu, 8 Jan 2015 20:47:52 +0000 (12:47 -0800)]
Merge "Disable vp9 _8_ loopfilters"

9 years agoRefactor mc reference block fetch in denoiser
Jingning Han [Thu, 8 Jan 2015 20:15:30 +0000 (12:15 -0800)]
Refactor mc reference block fetch in denoiser

This commit refactors the motion compensated reference block fetch
process in denoiser. It skips the stage that generates motion
compensated reference block if denoiser decides to use copy block
mode. For high motion clips, this could speed up the denoising
process by about 10%.

Change-Id: I8ef4fa5fe766a8c4529119b9ec01faefb3d4ef53

9 years agoUse lookup table to find pixel numbers in block
Jingning Han [Thu, 8 Jan 2015 02:36:47 +0000 (18:36 -0800)]
Use lookup table to find pixel numbers in block

This could save one multiplication in each threshold funtion
called by the denoiser per block.

Change-Id: I35f437e09999f0a087180878ef7805f0d86e5819

9 years agoMerge "Refactor denoiser frame buffer update"
Jingning Han [Thu, 8 Jan 2015 19:16:14 +0000 (11:16 -0800)]
Merge "Refactor denoiser frame buffer update"

9 years agoMerge "Initalize zeromv_sse and newmv_sse in vp9_pick_inter_mode"
Jingning Han [Thu, 8 Jan 2015 18:55:03 +0000 (10:55 -0800)]
Merge "Initalize zeromv_sse and newmv_sse in vp9_pick_inter_mode"

9 years agoMerge "Use vp9_convolve_copy in denoiser output"
Jingning Han [Thu, 8 Jan 2015 17:59:10 +0000 (09:59 -0800)]
Merge "Use vp9_convolve_copy in denoiser output"

9 years agoMerge "Remove unnecessary init_macroblockd."
hkuang [Thu, 8 Jan 2015 17:15:32 +0000 (09:15 -0800)]
Merge "Remove unnecessary init_macroblockd."

9 years agoMerge "Removed redundant local variables in the forward hybrid transforms."
Zoe Liu [Thu, 8 Jan 2015 10:32:15 +0000 (02:32 -0800)]
Merge "Removed redundant local variables in the forward hybrid transforms."

9 years agoMerge "Unit test for turning VP9 denoiser on/off periodically."
JackyChen [Thu, 8 Jan 2015 07:36:16 +0000 (23:36 -0800)]
Merge "Unit test for turning VP9 denoiser on/off periodically."

9 years agoRefactor denoiser frame buffer update
Jingning Han [Thu, 8 Jan 2015 02:30:50 +0000 (18:30 -0800)]
Refactor denoiser frame buffer update

Use frame buffer pointer swap instead of memcpy when possible.
These two CLs make the denoiser when running on vidyo1 720p at
speed -6 over 10% faster.

Change-Id: I64fe8a2422cafca6787a50c7f4dfb961191c0a9d

9 years agoUnit test for turning VP9 denoiser on/off periodically.
JackyChen [Thu, 8 Jan 2015 00:34:25 +0000 (16:34 -0800)]
Unit test for turning VP9 denoiser on/off periodically.

Change-Id: Ifd2813e8ccd8af189a8dc89b24efb6a5681714c7

9 years agoUse vp9_convolve_copy in denoiser output
Jingning Han [Thu, 8 Jan 2015 02:20:38 +0000 (18:20 -0800)]
Use vp9_convolve_copy in denoiser output

Replace copy_block with vp9_convolve_copy for speed performance
improvement.

Change-Id: I3a08c4d01dff2253b6ee573efd02f65ccdc1b5a5

9 years agoRemoved redundant local variables in the forward hybrid transforms.
Zoe Liu [Thu, 8 Jan 2015 00:38:29 +0000 (16:38 -0800)]
Removed redundant local variables in the forward hybrid transforms.

Change-Id: I60f7ccbbc8dc624134e325bdce6042bc183075b6

9 years agoMerge "Refactor calculation of tile_cols"
Yaowu Xu [Thu, 8 Jan 2015 00:24:57 +0000 (16:24 -0800)]
Merge "Refactor calculation of tile_cols"

9 years agoMerge "Always check and free denoiser buffer memory space"
Jingning Han [Wed, 7 Jan 2015 23:54:06 +0000 (15:54 -0800)]
Merge "Always check and free denoiser buffer memory space"

9 years agoInitalize zeromv_sse and newmv_sse in vp9_pick_inter_mode
Jingning Han [Wed, 7 Jan 2015 19:41:56 +0000 (11:41 -0800)]
Initalize zeromv_sse and newmv_sse in vp9_pick_inter_mode

These two parameters are used to control the denoiser cut-off
thresholds. They should be properly initialized when starting
mode search of a given block.

Change-Id: Iba8a25487026a0dbe0d350c347d7e4e4e237b637

9 years agoMerge "Use qdiff to adjust the threshold of sad and variance in MFQE."
JackyChen [Wed, 7 Jan 2015 22:57:46 +0000 (14:57 -0800)]
Merge "Use qdiff to adjust the threshold of sad and variance in MFQE."

9 years agoRefactor calculation of tile_cols
Yaowu Xu [Wed, 7 Jan 2015 16:49:43 +0000 (08:49 -0800)]
Refactor calculation of tile_cols

Change-Id: I2c38ea2bcf6d221a0b6b2fb9be4cebbee21006a3

9 years agoMerge "Fix best ref frame rd cost update in sub8x8 non-RD mode search"
Jingning Han [Wed, 7 Jan 2015 22:06:55 +0000 (14:06 -0800)]
Merge "Fix best ref frame rd cost update in sub8x8 non-RD mode search"

9 years agoMerge "Format fix in vp9_pick_inter_mode_sub8x8"
Jingning Han [Wed, 7 Jan 2015 22:06:06 +0000 (14:06 -0800)]
Merge "Format fix in vp9_pick_inter_mode_sub8x8"

9 years agoFix best ref frame rd cost update in sub8x8 non-RD mode search
Jingning Han [Wed, 7 Jan 2015 19:57:36 +0000 (11:57 -0800)]
Fix best ref frame rd cost update in sub8x8 non-RD mode search

This fixes the issue that sub8x8 inter blocks always end up
with GOLDEN_FRAME.

Change-Id: Id0c25cbb9c2003f43b4dff8fb1572512c246e077

9 years agoFormat fix in vp9_pick_inter_mode_sub8x8
Jingning Han [Wed, 7 Jan 2015 19:49:07 +0000 (11:49 -0800)]
Format fix in vp9_pick_inter_mode_sub8x8

Replace ref_frame++ with ++ref_frame.

Change-Id: Ic39793081156c314bf1b85d5ab76def97f3bff52

9 years agoMerge "Fix denoiser chroma component initialization"
Jingning Han [Wed, 7 Jan 2015 19:30:15 +0000 (11:30 -0800)]
Merge "Fix denoiser chroma component initialization"

9 years agoMerge "Skip duplicate denoiser frame buffer allocation"
Jingning Han [Wed, 7 Jan 2015 19:30:07 +0000 (11:30 -0800)]
Merge "Skip duplicate denoiser frame buffer allocation"

9 years agoMerge "Turn denoiser sensitivity on starting from kf in unit test"
Jingning Han [Wed, 7 Jan 2015 19:29:54 +0000 (11:29 -0800)]
Merge "Turn denoiser sensitivity on starting from kf in unit test"

9 years agoMerge "Rearrange loopfilter functions"
Johann [Wed, 7 Jan 2015 19:07:54 +0000 (11:07 -0800)]
Merge "Rearrange loopfilter functions"

9 years agoMerge "Add missing tests for neon _16_ filters"
Johann [Wed, 7 Jan 2015 19:07:12 +0000 (11:07 -0800)]
Merge "Add missing tests for neon _16_ filters"

9 years agoMerge "Moves inter mode count updates to update_stats"
Deb Mukherjee [Wed, 7 Jan 2015 17:38:32 +0000 (09:38 -0800)]
Merge "Moves inter mode count updates to update_stats"

9 years agoUse qdiff to adjust the threshold of sad and variance in MFQE.
JackyChen [Tue, 6 Jan 2015 18:31:41 +0000 (10:31 -0800)]
Use qdiff to adjust the threshold of sad and variance in MFQE.

When qdiff is larger, the sad/variance threshold should also be
higher which indicates a more aggressive action on MFQE.

Change-Id: I44c5c93572805458d4f87fdc7619cc9d8a522185

9 years agoAlways check and free denoiser buffer memory space
Jingning Han [Wed, 7 Jan 2015 00:17:05 +0000 (16:17 -0800)]
Always check and free denoiser buffer memory space

The vp9_denoiser_free() function will internally check if the
buffer pointers are NULL. This commit makes the encoder always
call vp9_denoiser_free() after finishing encoding. It protects the
case where noise_sensitivity_level is changed during encoding
process and happen to be turned off towards the end of sequence,
which could result memory space allocated to denoiser not being
released.

Change-Id: Ie20dc2f2e6e5fb6333fbab3356bc153978a6a0f8

9 years agoFix denoiser chroma component initialization
Jingning Han [Sun, 4 Jan 2015 04:46:13 +0000 (20:46 -0800)]
Fix denoiser chroma component initialization

Use the correct frame size and stride value for chroma components
when setting the initial values. These control parameters are
assigned when the denoiser buffer was allocated and initialized.

Change-Id: Ia6318194c7738aff540bcbd34f77f0dac46221a1

9 years agoSkip duplicate denoiser frame buffer allocation
Jingning Han [Sat, 3 Jan 2015 20:00:46 +0000 (12:00 -0800)]
Skip duplicate denoiser frame buffer allocation

Allocate the frame buffer allocation for denoiser once during the
encoder initialization. This avoids allocating frame buffer
multiple times and overwriting the buffer pointer without proper
releasing.

Change-Id: I9b3baa6283449d86fd164534d344c036bb035700

9 years agoUse 64 bit to accumulate frame sse.
Paul Wilkins [Fri, 19 Dec 2014 16:58:05 +0000 (16:58 +0000)]
Use 64 bit to accumulate frame sse.

When testing frame sse to choose a loop filter value and
when checking ambient error in kf Q selection, use 64 bit
values for accumulating the sse, to avoid risk of overflow
for large image formats.

Change-Id: I03765d16c843d0ade61a45b0cd46312472697e57

9 years agoDisable vp9 _8_ loopfilters
Johann [Fri, 19 Dec 2014 23:00:04 +0000 (15:00 -0800)]
Disable vp9 _8_ loopfilters

Investigating https://code.google.com/p/chromium/issues/detail?id=443839

Change-Id: Ibb7485d835c5aa5e1d40f31715596ba8d208eedb

9 years agoRearrange loopfilter functions
Johann [Tue, 6 Jan 2015 22:13:03 +0000 (14:13 -0800)]
Rearrange loopfilter functions

Separate functions and rename files. This will make it easier to disable
some functions later to help work around a compiler issue in chromium.

Change-Id: I7f30e109f77c4cd22e2eda7bd006672f090c1dc5

9 years agoAdd missing tests for neon _16_ filters
Johann [Tue, 6 Jan 2015 22:13:41 +0000 (14:13 -0800)]
Add missing tests for neon _16_ filters

Change-Id: I47174884efa257f331a369410a2fa7440368250b

9 years agoMerge "Use -1 consistently as invalid buffer idx"
Yaowu Xu [Wed, 7 Jan 2015 01:31:13 +0000 (17:31 -0800)]
Merge "Use -1 consistently as invalid buffer idx"

9 years agoMoves inter mode count updates to update_stats
Deb Mukherjee [Tue, 6 Jan 2015 18:37:08 +0000 (10:37 -0800)]
Moves inter mode count updates to update_stats

This makes the inter_mode counts update consistent with other symbols.
Also, forward updates should work corerctly now.

Change-Id: Id98be26fd08875162e644bb8f1de6f0918f85396

9 years agoUse -1 consistently as invalid buffer idx
Yaowu Xu [Tue, 6 Jan 2015 21:50:18 +0000 (13:50 -0800)]
Use -1 consistently as invalid buffer idx

Instead of mixed use of both -1 and INT_MAX.

This also fixes a vp9 fuzzing test failure.

Change-Id: I950ea94b44ec7cdb5232773bee30b104e342f52a

9 years agoMerge "Enable coefficient range checking for 10-/12-bit"
Deb Mukherjee [Tue, 6 Jan 2015 22:59:08 +0000 (14:59 -0800)]
Merge "Enable coefficient range checking for 10-/12-bit"

9 years agoFix encode perf test.
Frank Galligan [Tue, 6 Jan 2015 19:06:33 +0000 (11:06 -0800)]
Fix encode perf test.

JSON was missing a comma.

Change-Id: I7e6b6251b17bc4e74b0197a449ef0313255997e7

9 years agoTurn denoiser sensitivity on starting from kf in unit test
Jingning Han [Tue, 6 Jan 2015 18:04:56 +0000 (10:04 -0800)]
Turn denoiser sensitivity on starting from kf in unit test

The denoiser sensitivity level should be set to 1 starting from
key frame. The internal function of denoiser should make the
temporal denoising operations cut off in key frame coding.

Change-Id: Id3e704a73e98e4ea801284a2cbbab2ea9c371d23

9 years agoMerge "Fix compiler warnigns for msvc2013"
Yaowu Xu [Tue, 6 Jan 2015 16:01:47 +0000 (08:01 -0800)]
Merge "Fix compiler warnigns for msvc2013"

9 years agoMerge "Return error on wrong sync code"
Yaowu Xu [Tue, 6 Jan 2015 16:01:40 +0000 (08:01 -0800)]
Merge "Return error on wrong sync code"

9 years agoMerge "Properly validate data size"
Yaowu Xu [Tue, 6 Jan 2015 16:01:30 +0000 (08:01 -0800)]
Merge "Properly validate data size"

9 years agoMerge "Deleted unused #define"
Paul Wilkins [Tue, 6 Jan 2015 12:18:20 +0000 (04:18 -0800)]
Merge "Deleted unused #define"

9 years agoEnable coefficient range checking for 10-/12-bit
Deb Mukherjee [Tue, 6 Jan 2015 01:43:26 +0000 (17:43 -0800)]
Enable coefficient range checking for 10-/12-bit

Also fixes a broken build with --enable-coefficient-range-checking
configuration option.

Change-Id: Icc536f53088e8cec59dfb8f635668555fdb9125e

9 years agoProperly validate data size
Yaowu Xu [Mon, 5 Jan 2015 17:00:06 +0000 (09:00 -0800)]
Properly validate data size

With "show_existing_frame" frames:
Minimum data size for profile 0 and 1 is 1 byte (8bits)
Minimum data size for profile 2 and 3 is 2 bytes (9bits)

Otherwise:
Minimum data size is 8 bytes.

This resolves the VP9 failure in fuzzing test build #56.

Change-Id: I146d9d37688f535dd68d24aacc76d464ccffdf04