Jim Bankoski [Fri, 20 Jun 2014 23:46:31 +0000 (16:46 -0700)]
Merge "Fix bug in error handling that causes segfault"
Jim Bankoski [Fri, 20 Jun 2014 23:28:07 +0000 (16:28 -0700)]
Merge "fix peek_si to enable 1 byte show existing frames."
Jim Bankoski [Fri, 20 Jun 2014 23:27:57 +0000 (16:27 -0700)]
Merge "Added Test vector that tests more show existing frames."
Frank Galligan [Fri, 20 Jun 2014 22:00:08 +0000 (15:00 -0700)]
Add back libmkv ebml writer files.
Another project in ChromeOS is using these files. To make libvpx
rolls simpler, add these files back unitl the other project removes
the dependency.
crbug.com/387246 tracking bug to remove dependency.
Change-Id: If9c197081c845c4a4e5c5488d4e0190380bcb1e4
hkuang [Fri, 20 Jun 2014 21:47:46 +0000 (14:47 -0700)]
Merge "Introduce FrameWorker for decoding."
hkuang [Tue, 17 Jun 2014 01:23:06 +0000 (18:23 -0700)]
Introduce FrameWorker for decoding.
When decoding in serial mode, there will be only
one FrameWorker doing decoding. When decoding in
parallel mode, there will be several FrameWorkers
doing decoding in parallel.
Change-Id: If53fc5c49c7a0bf5e773f1ce7008b8a62fdae257
Jim Bankoski [Thu, 19 Jun 2014 14:00:39 +0000 (07:00 -0700)]
Added Test vector that tests more show existing frames.
Change-Id: I0ddd7dd55313ee62d231ed4b9040e08c3761b3fe
Jim Bankoski [Thu, 19 Jun 2014 19:10:05 +0000 (12:10 -0700)]
Fix bug in error handling that causes segfault
See: https://code.google.com/p/chromium/issues/detail?id=362697
The code properly catches an invalid stream but seg faults instead of
returning an error due to a buffer not having been initialized. This
code fixes that.
Change-Id: I695595e742cb08807e1dfb2f00bc097b3eae3a9b
Jim Bankoski [Fri, 20 Jun 2014 21:44:25 +0000 (14:44 -0700)]
Merge "Validate error checking code in decoder."
Jim Bankoski [Fri, 20 Jun 2014 20:52:06 +0000 (13:52 -0700)]
Validate error checking code in decoder.
This patch adds a mechanism for insuring error checking on invalid files
by creating a unit test that runs the decoder and tests that the error
code matches what's expected on each frame in the decoder.
Disabled for now as this unit test will segfault with existing code.
Change-Id: I896f9686d9ebcbf027426933adfbea7b8c5d956e
Johann [Fri, 20 Jun 2014 18:29:19 +0000 (11:29 -0700)]
Merge "Include type defines"
Johann [Tue, 6 May 2014 16:28:12 +0000 (09:28 -0700)]
Don't return value for void functions
Clears "warning: 'return' with a value, in function returning void"
Change-Id: I93972610d67e243ec772a1021d2fdfcfc689c8c2
Johann [Tue, 6 May 2014 16:21:01 +0000 (09:21 -0700)]
Include type defines
Clears error: unknown type name 'uint8_t'
Change-Id: I9b6eff66a5c69bc24aeaeb5ade29255a164ef0e2
Tim Kopp [Fri, 20 Jun 2014 17:37:46 +0000 (10:37 -0700)]
Merge "VP9 denoiser bugfixes"
Jingning Han [Fri, 20 Jun 2014 16:38:02 +0000 (09:38 -0700)]
Merge "Allow key frame more flexibility in mode search"
Tim Kopp [Fri, 13 Jun 2014 20:58:57 +0000 (13:58 -0700)]
VP9 denoiser bugfixes
s/stdint.h/vpx\/vpx_int.h
Added missing 'break;'s
Also included other minor changes, mostly cosmetic.
Change-Id: I852bba3e85e794f1d4af854c45c16a23a787e6a3
Tim Kopp [Fri, 20 Jun 2014 14:16:08 +0000 (07:16 -0700)]
Merge "Added CFLAG for outputting vp9 denoised signal"
Jim Bankoski [Thu, 19 Jun 2014 22:10:30 +0000 (15:10 -0700)]
fix peek_si to enable 1 byte show existing frames.
The test for this is in test vector code ( show existing frames will
fail ). I can't check it in disabled as I'm changing the generic
test code to do this:
https://gerrit.chromium.org/gerrit/#/c/70569/
Change-Id: I5ab324f0cb7df06316a949af0f7fc089f4a3d466
Johann [Thu, 19 Jun 2014 22:14:19 +0000 (15:14 -0700)]
Merge "Remove labels from quantize"
Jingning Han [Thu, 19 Jun 2014 16:24:09 +0000 (09:24 -0700)]
Allow key frame more flexibility in mode search
This commit allows the key frame to search through more prediction
modes and more flexible block sizes. No speed change observed. The
coding performance for rtc set is improved by 1.7% for speed -5 and
3.0% for speed -6.
Change-Id: Ifd1bc28558017851b210b4004f2d80838938bcc5
Tim Kopp [Thu, 19 Jun 2014 19:43:00 +0000 (12:43 -0700)]
Merge "Fixes in VP9 alloc, free, and COPY_FRAME case"
hkuang [Thu, 19 Jun 2014 19:16:37 +0000 (12:16 -0700)]
Merge "Add superframe support for frame parallel decoding."
Jingning Han [Thu, 19 Jun 2014 18:47:55 +0000 (11:47 -0700)]
Merge "Separate rate-distortion modeling for DC and AC coefficients"
Tim Kopp [Thu, 19 Jun 2014 18:22:50 +0000 (11:22 -0700)]
Merge "Improved vp9 denoiser running avg update."
Tim Kopp [Thu, 19 Jun 2014 18:02:46 +0000 (11:02 -0700)]
Merge "Implemented COPY_BLOCK case for vp9 denoiser"
Johann [Thu, 19 Jun 2014 17:23:53 +0000 (10:23 -0700)]
Remove labels from quantize
Use break instead of goto for early exit. Unbreaks Visual Studio
builds.
Change-Id: I96dee43a3c82145d4abe0d6a99af6e6e1a3991b5
hkuang [Fri, 13 Jun 2014 21:14:02 +0000 (14:14 -0700)]
Add superframe support for frame parallel decoding.
A superframe is a bunch of frames that bundled as one frame. It is mostly
used to combine one or more non-displayable frames and one displayable frame.
For frame parallel decoding, libvpx decoder will only support decoding one
normal frame or a super frame with superframe index.
If an application pass a superframe without superframe index or a chunk
of displayable frames without superframe index to libvpx decoder, libvpx
will not decode it in frame parallel mode. But libvpx decoder still could
decode it in serial mode.
Change-Id: I04c9f2c828373d64e880a8c7bcade5307015ce35
Yunqing Wang [Thu, 19 Jun 2014 16:30:04 +0000 (09:30 -0700)]
Merge "Modify non-rd intra mode checking"
Johann [Thu, 19 Jun 2014 15:45:07 +0000 (08:45 -0700)]
Merge "sse4 regular quantize"
Tim Kopp [Fri, 13 Jun 2014 15:57:52 +0000 (08:57 -0700)]
Added CFLAG for outputting vp9 denoised signal
Change-Id: Iab9b4e11cad927f3282e486c203564e1a658f377
Tim Kopp [Fri, 13 Jun 2014 19:43:52 +0000 (12:43 -0700)]
Fixes in VP9 alloc, free, and COPY_FRAME case
Change-Id: I1216f17e2206ef521fe219b6d72d8e41d1ba1147
Tim Kopp [Thu, 12 Jun 2014 23:05:01 +0000 (16:05 -0700)]
Improved vp9 denoiser running avg update.
Change-Id: Ie0aa41fb7957755544321897b3bb2dd92f392027
Tim Kopp [Thu, 12 Jun 2014 21:45:42 +0000 (14:45 -0700)]
Implemented COPY_BLOCK case for vp9 denoiser
Change-Id: Ie89ad1e3aebbd474e1a0db69c1961b4d1ddcd33e
Tim Kopp [Thu, 19 Jun 2014 15:40:34 +0000 (08:40 -0700)]
Merge "Changed buf_2ds in vp9 denoiser to YV12 buffers"
Tim Kopp [Thu, 19 Jun 2014 15:39:38 +0000 (08:39 -0700)]
Merge "Update running avg for VP9 denoiser"
Tim Kopp [Thu, 19 Jun 2014 15:38:41 +0000 (08:38 -0700)]
Merge "Implemented vp9_denoiser_{alloc,free}()"
Tom Finegan [Wed, 18 Jun 2014 23:57:36 +0000 (16:57 -0700)]
Merge "iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework."
Dmitry Kovalev [Wed, 18 Jun 2014 23:42:29 +0000 (16:42 -0700)]
Merge "Removing decode_one_iter() function."
Johann [Tue, 5 Mar 2013 22:22:09 +0000 (14:22 -0800)]
sse4 regular quantize
Change-Id: Ibd95df0adf9cc9143006ee9032b4cb2ebfd5dd1b
Tim Kopp [Thu, 12 Jun 2014 20:53:49 +0000 (13:53 -0700)]
Changed buf_2ds in vp9 denoiser to YV12 buffers
Changed alloc, free, and running average code as necessary.
Change-Id: Ifc4d9ccca462164214019963b3768a457791b9c1
Tim Kopp [Wed, 11 Jun 2014 23:22:38 +0000 (16:22 -0700)]
Update running avg for VP9 denoiser
Change-Id: I9577d648542064052795bf5770428fbd5c276b7b
Tim Kopp [Wed, 11 Jun 2014 23:12:21 +0000 (16:12 -0700)]
Implemented vp9_denoiser_{alloc,free}()
Change-Id: I79eba79f7c52eec19ef2356278597e06620d5e27
Adrian Grange [Wed, 18 Jun 2014 21:02:06 +0000 (14:02 -0700)]
Merge "Improve vp9_rb_bytes_read"
Tom Finegan [Wed, 18 Jun 2014 19:51:30 +0000 (12:51 -0700)]
iosbuild.sh: Add vpx_config.h and vpx_version.h to VPX.framework.
- Rename build_targets to build_framework
- Add functions for creating the vpx_config shim and obtaining
preproc symbols.
Change-Id: Ieca6938b9779077eefa26bf4cfee64286d1840b0
Yunqing Wang [Tue, 17 Jun 2014 23:59:28 +0000 (16:59 -0700)]
Modify non-rd intra mode checking
Speed 6 uses small tx size, namely 8x8. max_intra_bsize needs to
be modified accordingly to ensure valid intra mode checking.
Borg test on RTC set showed an overall PSNR gain of 0.335% in speed
-6.
This also changes speed -5 encoding by allowing DC_PRED checking
for block32x32. Borg test on RTC set showed a slight PSNR gain of
0.145%, and no noticeable speed change.
Change-Id: I1502978d8fbe265b3bb235db0f9c35ba0703cd45
Jingning Han [Wed, 18 Jun 2014 17:50:38 +0000 (10:50 -0700)]
Separate rate-distortion modeling for DC and AC coefficients
This is the first step to rework the rate-distortion modeling used
in rtc coding mode. The overall goal is to make the modeling
customized for the statistics encountered in the rtc coding.
This commit makes encoder to perform rate-distortion modeling for
DC and AC coefficients separately. No speed changes observed.
The coding performance for pedestrian_area_1080p is largely
improved:
speed -5, from 79558 b/f, 37.871 dB -> 79598 b/f, 38.600 dB
speed -6, from 79515 b/f, 37.822 dB -> 79544 b/f, 38.130 dB
Overall performance for rtc set at speed -6 is improved by 0.67%.
Change-Id: I9153444567e5f75ccdcaac043c2365992c005c0c
Adrian Grange [Wed, 18 Jun 2014 15:31:45 +0000 (08:31 -0700)]
Improve vp9_rb_bytes_read
Change-Id: I69eba120eb3d8ec43b5552451c8a9bd009390795
James Zern [Wed, 18 Jun 2014 02:35:03 +0000 (19:35 -0700)]
Merge "gen_msvs_proj: fix in tree configure under cygwin"
Dmitry Kovalev [Tue, 17 Jun 2014 21:20:17 +0000 (14:20 -0700)]
Merge "Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h."
Pengchong Jin [Tue, 17 Jun 2014 19:08:42 +0000 (12:08 -0700)]
Merge "skip the un-necessary motion search in the first pass"
Tom Finegan [Tue, 17 Jun 2014 17:34:36 +0000 (10:34 -0700)]
Merge "iosbuild.sh: Add missing function comments."
Marco Paniconi [Tue, 17 Jun 2014 15:34:30 +0000 (08:34 -0700)]
Merge "vp8 denoising: add bias factor to zero_mv sse."
Jingning Han [Tue, 17 Jun 2014 01:33:21 +0000 (18:33 -0700)]
Merge "Fix C versions of DC calculation functions"
James Zern [Tue, 17 Jun 2014 00:39:13 +0000 (17:39 -0700)]
Merge "vp9_rtcd: correct avx2 references"
Tom Finegan [Tue, 17 Jun 2014 00:04:38 +0000 (17:04 -0700)]
iosbuild.sh: Add missing function comments.
Change-Id: Ib23a59475d566a7b7f44071614d730ceecfcfa60
Tom Finegan [Mon, 16 Jun 2014 23:16:49 +0000 (16:16 -0700)]
Merge "example tests: Make failures due to incorrect bin path easier to diagnose."
Marco Paniconi [Mon, 16 Jun 2014 18:29:02 +0000 (11:29 -0700)]
vp8 denoising: add bias factor to zero_mv sse.
Change-Id: I95818754424e89f0d56c6d9c0c5709e6f84fa46a
James Zern [Fri, 13 Jun 2014 03:51:39 +0000 (20:51 -0700)]
gen_msvs_proj: fix in tree configure under cygwin
strip trailing '/' from paths, this is later converted to '\' which
causes execution errors for obj_int_extract/yasm. vs10+ wasn't affected
by this issue, but make the same change for consistency.
gen_msvs_proj:
+ add missing '"' to obj_int_extract call
unlike gen_msvs_vcproj, the block is duplicated
missed in: 1e3d9b9 build/msvs: fix builds in source dirs with spaces
Change-Id: I76208e6cdc66dc5a0a7ffa8aa1edbefe31e4b130
Dmitry Kovalev [Mon, 16 Jun 2014 19:07:48 +0000 (12:07 -0700)]
Merge "vp9_pickmode.c: fix vs12 compiler warnings"
Tom Finegan [Mon, 16 Jun 2014 17:57:00 +0000 (10:57 -0700)]
example tests: Make failures due to incorrect bin path easier to diagnose.
Add elog() to tools_common, and checks for the executable in each test.
Change-Id: I3c6334eca62c0b56040d91145abbe1bf5f9c763c
Alex Converse [Mon, 16 Jun 2014 17:33:31 +0000 (10:33 -0700)]
Merge "Add non420 support to vp9_extend_frame_borders."
Jingning Han [Mon, 16 Jun 2014 17:27:30 +0000 (10:27 -0700)]
Merge "Fix out of boundary memory read in fuzz test on vpxdec"
Pengchong Jin [Mon, 16 Jun 2014 16:17:45 +0000 (09:17 -0700)]
skip the un-necessary motion search in the first pass
This patch allows the VP9 encoder to skip the un-necessary
motion search in the first pass. It computes the motion error
of 0,0 motion using the last source frame as the reference,
and skips the further motion search if this error is small.
Borg test shows overall the patch gives PSNR gain (derf -0.001%,
yt 0.341%, hd 0.282%). Individual clips may have PSNR gain or
loss. The best PSNR performance is 7.347% and the worst is -0.662%.
The first pass encoding speedup for slideshow clips is over 30%.
Change-Id: I4cac4dbd911f277ee858e161f3ca652c771344fe
unknown [Sun, 15 Jun 2014 19:40:16 +0000 (12:40 -0700)]
vp9_pickmode.c: fix vs12 compiler warnings
Change-Id: I5042b76a7050c121bf960ecb20c79d35adcc4cd5
Tom Finegan [Fri, 13 Jun 2014 23:31:56 +0000 (16:31 -0700)]
Merge "iosbuild.sh: Move to build/make and tidy up a bit."
Tom Finegan [Fri, 13 Jun 2014 23:31:49 +0000 (16:31 -0700)]
Merge "test/tools_common.sh: Log all shared variables in verbose mode."
Jingning Han [Fri, 13 Jun 2014 23:04:21 +0000 (16:04 -0700)]
Fix C versions of DC calculation functions
This commit fixes the scaling factors used in the C versions of the
DC calculation functions.
Change-Id: Iab41108c2bb93c2f2e78667214f3a772a2b707b5
hkuang [Fri, 13 Jun 2014 22:28:24 +0000 (15:28 -0700)]
Merge "Delay decreasing reference count in frame-parallel decoding."
Yunqing Wang [Fri, 13 Jun 2014 22:21:26 +0000 (15:21 -0700)]
Merge "Revert "skip un-neccessary motion search in the first pass""
Marco Paniconi [Fri, 13 Jun 2014 21:51:59 +0000 (14:51 -0700)]
Merge "Allow for deblocking temporal-denoised signal."
Marco Paniconi [Fri, 13 Jun 2014 17:08:09 +0000 (10:08 -0700)]
Allow for deblocking temporal-denoised signal.
Allow for an option to selectively apply the deblocking loop filter to the denoised
raw block, based on the denoised state (no-filter, filter with zero motion, or filter with non-zero motion)
of the current block and its upper and left denoised block.
This helps to reduce some blocking artifacts from the motion-compensated denoising.
Change-Id: I0ac4e70076df69a98c5391979e739a2681e24ae6
Dmitry Kovalev [Fri, 13 Jun 2014 19:34:40 +0000 (12:34 -0700)]
Moving RD-opt related code from vp9_encoder.h to vp9_rdopt.h.
Change-Id: I8fab776c8801e19d3f5027ed55a6aa69eee951de
Dmitry Kovalev [Fri, 13 Jun 2014 19:22:35 +0000 (12:22 -0700)]
Replacing RC_MODE with vpx_rc_mode.
Both enums are identical.
Change-Id: I06653f9c90a2d3a2dd5c741e75b17ee7d066a56f
Tom Finegan [Fri, 13 Jun 2014 18:18:43 +0000 (11:18 -0700)]
test/tools_common.sh: Log all shared variables in verbose mode.
Several variables were not being logged.
Change-Id: I2f2ded19470a73c4551bbb1abbd6e4d27bd59fac
Jingning Han [Thu, 12 Jun 2014 19:23:06 +0000 (12:23 -0700)]
Fix out of boundary memory read in fuzz test on vpxdec
This commit fixes frame header decoding for superframe index, to
prevent out of boundary memory read triggered by fuzz test
vector. It resolves a chromium security violation issue
crbug.com/376802.
The issue was introduced in the change:
Add VPXD_SET_DECRYPTOR support to the VP9 decoder.
cl-id I88f86c8ff9af34e0b6531028b691921b54c2fc48
where the buffer was read before validation check on index offset
applied.
A test vector is added accordingly.
Change-Id: I41c988e776bbdd1033312a668e03a3dbcf44ca99
Tom Finegan [Fri, 13 Jun 2014 18:03:56 +0000 (11:03 -0700)]
iosbuild.sh: Move to build/make and tidy up a bit.
Change-Id: I625beea9db4b5f6db8f177c580a3adeac760a662
Paul Wilkins [Fri, 13 Jun 2014 17:52:19 +0000 (18:52 +0100)]
Revert "skip un-neccessary motion search in the first pass"
This patch appears to have introduced non-determinism and/or
mismatch from debug vs release.
This reverts commit
5daef90efc4613efd7e7ee80ba4e1ecf9a57a966.
Change-Id: I80081e55cfeaaa821b510b58a4e6e6328003c7da
hkuang [Tue, 10 Jun 2014 21:48:16 +0000 (14:48 -0700)]
Delay decreasing reference count in frame-parallel decoding.
The current decoding scheme will decrease the reference count
of the output frame when finish decoding. Then the application
could copy the frame from the decoder buffer to application buffer.
In frame-parallel decoding, a decoded frame will not be outputted
until several frames later which depends on thread numbers. So
the decoded frame's reference count should be decreased only
after application finish copying the frame out. But due to the
limitation of vpx_codec_get_frame, decoder could not know when
application finish decoding. So use a index last_show_frame to
release the last output frame's reference count.
Change-Id: I403ee0d01148ac1182e5a2d87cf7dcc302b51e63
Johann [Fri, 13 Jun 2014 17:51:49 +0000 (10:51 -0700)]
Merge "Use lrand48 on Android"
Tom Finegan [Fri, 13 Jun 2014 17:36:49 +0000 (10:36 -0700)]
Merge "Add VPX.framework built script."
Tim Kopp [Fri, 13 Jun 2014 16:44:39 +0000 (09:44 -0700)]
Merge "Added skeleton for VP9 denoiser"
Paul Wilkins [Fri, 13 Jun 2014 09:27:03 +0000 (02:27 -0700)]
Merge "Cleaning up accumulate_frame_motion_stats()."
Tom Finegan [Fri, 13 Jun 2014 03:44:44 +0000 (20:44 -0700)]
Add VPX.framework built script.
Builds a framework for use on iOS targets.
Change-Id: I2e42d77d1d83e15dc7e84232255da26809ee31bb
Johann [Fri, 13 Jun 2014 02:16:59 +0000 (19:16 -0700)]
Use lrand48 on Android
When building x86 assembly use lrand48 instead of the
undocumented inlined _rand function.
Android now supports rand()
https://android-review.googlesource.com/97731
but only for new versions. Original workaround:
https://gerrit.chromium.org/gerrit/15744
Change-Id: I130566837d5bfc9e54187ebe9807350d1a7dab2a
Dmitry Kovalev [Fri, 13 Jun 2014 00:15:33 +0000 (17:15 -0700)]
Merge "Adding MV_SPEED_FEATURES struct."
Tim Kopp [Thu, 5 Jun 2014 21:00:08 +0000 (14:00 -0700)]
Added skeleton for VP9 denoiser
Change-Id: Iccf6ede4c4f85646b0f8daec47050ce93e267c90
Tim Kopp [Thu, 12 Jun 2014 22:10:53 +0000 (15:10 -0700)]
Merge "Added OUTPUT_YUV_DENOISED CFLAG to VP8 encoder"
hkuang [Thu, 12 Jun 2014 22:01:38 +0000 (15:01 -0700)]
Merge "Initially add frame_parallel_decode flag."
Dmitry Kovalev [Thu, 12 Jun 2014 21:16:18 +0000 (14:16 -0700)]
Merge "Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS."
Dmitry Kovalev [Thu, 12 Jun 2014 19:35:57 +0000 (12:35 -0700)]
Adding MV_SPEED_FEATURES struct.
Moving all motion vector related speed parameters from SPEED_FEATURES to
MV_SPEED_FEATURES.
Change-Id: I3e9af0039c7162f8671878c5920bce3cb256a84e
Dmitry Kovalev [Thu, 12 Jun 2014 21:12:45 +0000 (14:12 -0700)]
Merge "Moving full_pixel_search() to vp9_mcomp.c."
Dmitry Kovalev [Thu, 12 Jun 2014 20:24:42 +0000 (13:24 -0700)]
Merge "Adding is_altref_enabled() function."
Dmitry Kovalev [Thu, 12 Jun 2014 20:07:11 +0000 (13:07 -0700)]
Merge "Replacing txfm_size with tx_size."
Dmitry Kovalev [Thu, 12 Jun 2014 20:06:37 +0000 (13:06 -0700)]
Moving full_pixel_search() to vp9_mcomp.c.
Change-Id: I12389f801ebd3bd2ae3bf31e125433bfb429ee65
Dmitry Kovalev [Thu, 12 Jun 2014 19:13:20 +0000 (12:13 -0700)]
Adding is_altref_enabled() function.
Change-Id: I54cdb4ce11590511e6f86bc2fd55771f1c18a20a
Jingning Han [Thu, 12 Jun 2014 18:59:52 +0000 (11:59 -0700)]
Merge "Fast computation path for forward transform and quantization"
Dmitry Kovalev [Thu, 12 Jun 2014 18:57:26 +0000 (11:57 -0700)]
Replacing txfm_size with tx_size.
Change-Id: Ifa6374e9db5919322733b656e0865f5f19ee6f2c
Dmitry Kovalev [Tue, 3 Jun 2014 21:07:47 +0000 (14:07 -0700)]
Removing unused ssim_weighted_pred_err field from FIRSTPASS_STATS.
Change-Id: Ia8c7e3905ac21732cb6b8099eaf8df72c7e36b73
Jingning Han [Fri, 30 May 2014 01:14:17 +0000 (18:14 -0700)]
Fast computation path for forward transform and quantization
This commit enables a fast path computational flow for forward
transformation. It checks the sse and variance of prediction
residuals and decides if the quantized coefficients are all
zero, dc only, or more. It then selects the corresponding coding
path in the forward transformation and quantization stage.
It is currently enabled in rtc coding mode. Will do it for rd
coding mode next.
In speed -6, the runtime for pedestrian_area 1080p at 1000 kbps
goes down from 14234 ms to 13704 ms, i.e., about 4% speed-up.
Overall coding performance for rtc set is changed by -0.18%.
Change-Id: I0452da1786d59bc8bcbe0a35fdae9f623d1d44e1
Alex Converse [Thu, 12 Jun 2014 17:38:06 +0000 (10:38 -0700)]
Merge "Fix SEG_LVL_SKIP in non-RD inter mode selection."