Dmitry Kovalev [Thu, 13 Feb 2014 19:40:10 +0000 (11:40 -0800)]
Merge "Removing x86_cpuid.c."
Dmitry Kovalev [Thu, 13 Feb 2014 19:04:34 +0000 (11:04 -0800)]
Merge "Renaming skip_coeff to skip for consistency."
Marco Paniconi [Thu, 13 Feb 2014 18:08:42 +0000 (10:08 -0800)]
Merge "Update to vpx_temporal_scalable_patterns test:"
Frank Galligan [Thu, 13 Feb 2014 17:52:48 +0000 (09:52 -0800)]
Merge "Fix neon wide loopfilter for filter8 only branch"
Yunqing Wang [Thu, 13 Feb 2014 17:43:55 +0000 (09:43 -0800)]
Merge "AVX2 Convolve Optimization"
Paul Wilkins [Thu, 13 Feb 2014 17:31:53 +0000 (09:31 -0800)]
Merge changes I121fe66c,I94f57f8a
* changes:
Remove some cases for turning off arf.
Modified Aq1 and Aq2
Marco Paniconi [Wed, 12 Feb 2014 01:59:04 +0000 (17:59 -0800)]
Update to vpx_temporal_scalable_patterns test:
Add some rate control metrics.
Change-Id: Ie87c617bbdc31b0324c7c96a042f7bdb8aaa9c7e
Jim Bankoski [Thu, 13 Feb 2014 16:32:12 +0000 (08:32 -0800)]
Merge "vp9_mbgraph.c static analysis issues resolved."
Jim Bankoski [Thu, 13 Feb 2014 16:32:01 +0000 (08:32 -0800)]
Merge "vp9_temporal_filter.c static analysis issue resolution"
Jim Bankoski [Thu, 13 Feb 2014 16:31:49 +0000 (08:31 -0800)]
Merge "vp9_pickmode.c static analysis issues resolved"
Paul Wilkins [Thu, 13 Feb 2014 14:50:55 +0000 (14:50 +0000)]
Remove some cases for turning off arf.
Flipping arf on and off too often is hurting some clips.
This change makes no difference for 50-75% of our test
clips but helps some by a big margin. (eg. std-hd crew
by 6% and one of the YT and YT-hd clips by 14%)
Average improvements for 2 pass, speed 2 (psnr,ssim)
are as follows:-
derf 0.165%, 0.210%
yt 1.210%, 1.464%
yt-hd 1.189%, 1.471%
std-hd 1.031%, 0.886%
Change-Id: I121fe66cfb4a62d384b23b484a7d648789641969
Jim Bankoski [Thu, 13 Feb 2014 14:43:44 +0000 (06:43 -0800)]
vp9_mbgraph.c static analysis issues resolved.
Change-Id: I6ec6e072fcd59f9b5fac4ce221a86f9078103ae3
Jim Bankoski [Tue, 11 Feb 2014 20:40:51 +0000 (12:40 -0800)]
vp9_temporal_filter.c static analysis issue resolution
Change-Id: I08a4364672cf8171932e8e85fb74fcbfa4b27d2d
Jim Bankoski [Thu, 13 Feb 2014 14:22:08 +0000 (06:22 -0800)]
Merge "vp9_rdopt.c static analysis issues resolved"
Jim Bankoski [Tue, 11 Feb 2014 15:42:52 +0000 (07:42 -0800)]
vp9_pickmode.c static analysis issues resolved
Change-Id: I716ea2967c6771d7adea571406f315a3197eab93
Jim Bankoski [Thu, 13 Feb 2014 14:20:35 +0000 (06:20 -0800)]
Merge "static analysis warning in vp9_ratectrl.c"
Jim Bankoski [Thu, 13 Feb 2014 14:20:16 +0000 (06:20 -0800)]
Merge "vp9_mcomp.c static analysis issues"
Jim Bankoski [Thu, 13 Feb 2014 14:20:05 +0000 (06:20 -0800)]
Merge "clear out static analysis warning"
Jim Bankoski [Thu, 13 Feb 2014 14:19:26 +0000 (06:19 -0800)]
Merge "clean out static analyzer warnings vp9_encodeframe.c"
Dmitry Kovalev [Thu, 13 Feb 2014 05:44:21 +0000 (21:44 -0800)]
Merge "Adding and reusing vpx_img_plane_{width, height}() functions."
levytamar82 [Fri, 17 Jan 2014 19:39:16 +0000 (12:39 -0700)]
AVX2 Convolve Optimization
Two convolve functions were optimized for AVX2:
1. vp9_filter_block1d16_h8
2. vp9_filter_block1d16_v8
vp9_filter_block1d16_v8 was optimized for AVX2 by reducing the number of
loop strides by half, two strides were processed in parallel.
vp9_filter_block1d16_v8 was also optimized in the same way also some of the
loads were being done outside of the loop and by that preventing redundant
loads.
This Optimization gives 43% function level gain and 1.3% user level gain.
Now can be compiled in Windows
Change-Id: I2714124cfb0c14a77d7a0ce126a20db92ffbf92c
Dmitry Kovalev [Thu, 13 Feb 2014 00:26:58 +0000 (16:26 -0800)]
Flushing the encoder in simple_decoder example.
Change-Id: I39d78facc79a364cdc529b8cc4930d74f766d413
Dmitry Kovalev [Thu, 13 Feb 2014 02:36:36 +0000 (18:36 -0800)]
Adding and reusing vpx_img_plane_{width, height}() functions.
Change-Id: I668afb50614644d2eac2e968e1fafd6d73170bec
Frank Galligan [Thu, 13 Feb 2014 00:55:14 +0000 (16:55 -0800)]
Fix neon wide loopfilter for filter8 only branch
The current code removed the check to only perform the filter8.
Change-Id: Ie54e19a77745042a5660eab986d9ef1c42e82410
Dmitry Kovalev [Thu, 13 Feb 2014 02:24:03 +0000 (18:24 -0800)]
Merge "Removing init_rdcost_stack() + cleanup."
Tom Finegan [Thu, 13 Feb 2014 02:16:48 +0000 (18:16 -0800)]
Merge "decode_test_driver: Use size_t for size arg to DecodeFrame()."
Dmitry Kovalev [Thu, 13 Feb 2014 01:53:50 +0000 (17:53 -0800)]
Merge "Converting int_mv to MV."
Jingning Han [Thu, 13 Feb 2014 01:51:39 +0000 (17:51 -0800)]
Merge "Remove unnecessary vp9_setup_buffer_inter use"
Jingning Han [Thu, 13 Feb 2014 01:51:30 +0000 (17:51 -0800)]
Merge "Remove inactive control parameters"
Jingning Han [Thu, 13 Feb 2014 01:51:18 +0000 (17:51 -0800)]
Merge "Remove unused using_small_partition_info functions"
Jingning Han [Thu, 13 Feb 2014 01:51:11 +0000 (17:51 -0800)]
Merge "Remove unused function in vp9_encodeframe"
Dmitry Kovalev [Thu, 13 Feb 2014 01:44:12 +0000 (17:44 -0800)]
Renaming skip_coeff to skip for consistency.
Change-Id: I036e815ca63d00cba71202ae09ba0f6ef745dcb8
Dmitry Kovalev [Thu, 13 Feb 2014 01:31:52 +0000 (17:31 -0800)]
Merge "Adding consts to mv search function arguments."
James Zern [Thu, 13 Feb 2014 01:15:06 +0000 (17:15 -0800)]
Merge "gen_msvs_vcxproj.sh: Add /arch:AVX for files using AVX."
Jim Bankoski [Thu, 13 Feb 2014 01:00:57 +0000 (17:00 -0800)]
vp9_rdopt.c static analysis issues resolved
Change-Id: Id53b574a4ecb5c8749383b3758c46b6bc1b275d5
Tom Finegan [Thu, 13 Feb 2014 00:01:52 +0000 (16:01 -0800)]
decode_test_driver: Use size_t for size arg to DecodeFrame().
Use size_t for DecodeFrame()'s size arg, and cast only
at the vpx_codec_decode() call site. This silences warnings that
appear in svc_test.cc when building with vs2013.
Change-Id: I2cf39f02a45732c752097f07b0c7ad414b1517d8
Dmitry Kovalev [Wed, 12 Feb 2014 22:42:52 +0000 (14:42 -0800)]
Converting int_mv to MV.
Change-Id: Id15285aa48ac6d8fec19a1946e6391412d84f5be
Alex Converse [Wed, 12 Feb 2014 23:35:55 +0000 (15:35 -0800)]
Merge "Cleanup tokenize_b and hoist some invarients out of the loop."
Dmitry Kovalev [Wed, 12 Feb 2014 23:28:53 +0000 (15:28 -0800)]
Merge "Using video writer API from vp9_spatial_scalable_encoder."
Dmitry Kovalev [Wed, 12 Feb 2014 23:27:47 +0000 (15:27 -0800)]
Merge "Adding API to get vpx encoder/decoder interface."
Jingning Han [Wed, 12 Feb 2014 23:06:32 +0000 (15:06 -0800)]
Remove unnecessary vp9_setup_buffer_inter use
This function initializes the predictor buffer pointers and
calculates reference motion vectors. It is only needed in the settings
of inter frame coding. Hence removing it from the key frame coding
branch in rtc_use_partition.
Change-Id: Ic4e16c7467a5f32be4e0bf619ef9d57afb4a7075
Frank Galligan [Wed, 12 Feb 2014 22:38:26 +0000 (14:38 -0800)]
Merge "Fix frames that have no references to them."
Dmitry Kovalev [Wed, 12 Feb 2014 22:28:23 +0000 (14:28 -0800)]
Adding consts to mv search function arguments.
Change-Id: Ie79114bba4f0cea55d9f701e20d2be2017630f3b
Tom Finegan [Tue, 11 Feb 2014 01:26:03 +0000 (17:26 -0800)]
gen_msvs_vcxproj.sh: Add /arch:AVX for files using AVX.
Turns on AVX when the final characters of .c and .cc file names preceding the
.c and .cc file extension contain the substrings avx or avx2. This silences
many MSVC warnings issued during compilation files that use AVX.
Change-Id: I82bda394af7a688679abab2a50dd7e10b3cb0c7a
Jingning Han [Wed, 12 Feb 2014 20:48:15 +0000 (12:48 -0800)]
Remove inactive control parameters
Change-Id: Ic5692af975fe6bd2d8ec82bbae103c6f7c2fc13e
Jingning Han [Wed, 12 Feb 2014 20:01:43 +0000 (12:01 -0800)]
Remove unused using_small_partition_info functions
This function is deprecated after the re-design of partition search
that runs big block size, then four-way split, followed by
rectangular block sizes. This commit removes the related functions.
Change-Id: I417549c8e0fa3cf35bd29816b805dd4e7c3660c6
Jingning Han [Wed, 12 Feb 2014 19:52:03 +0000 (11:52 -0800)]
Remove unused function in vp9_encodeframe
The function rd_pick_reference_frame can be deprecated. Its use was
subsumed by the adaptive motion search control.
Change-Id: Icb0c2fa335f0f06fa7b79a71f972d9fa54d750db
Dmitry Kovalev [Wed, 12 Feb 2014 20:14:34 +0000 (12:14 -0800)]
Merge "Cleaning up vp9_full_search_sad_c() function."
Dmitry Kovalev [Wed, 12 Feb 2014 20:11:14 +0000 (12:11 -0800)]
Merge "Removing vp9_foreach_transformed_block_uv() function."
Jim Bankoski [Tue, 11 Feb 2014 01:32:40 +0000 (17:32 -0800)]
static analysis warning in vp9_ratectrl.c
Change-Id: I8aa3dd068d9a7225b3e8b24392a7b4a54b9435dd
Jim Bankoski [Tue, 11 Feb 2014 01:03:41 +0000 (17:03 -0800)]
vp9_mcomp.c static analysis issues
Change-Id: I8c0023e3f03297993431e21158ee3821af75f82d
Jim Bankoski [Mon, 10 Feb 2014 20:00:34 +0000 (12:00 -0800)]
clear out static analysis warning
Change-Id: Ic8708bb8a56ab30617c8ef47072b53928a53a1a3
Jim Bankoski [Wed, 12 Feb 2014 19:54:04 +0000 (11:54 -0800)]
clean out static analyzer warnings vp9_encodeframe.c
Change-Id: If14d2fc8cf4202d24f7d87ea74b8ce88a6a816d9
Dmitry Kovalev [Wed, 12 Feb 2014 19:23:49 +0000 (11:23 -0800)]
Using video writer API from vp9_spatial_scalable_encoder.
Change-Id: I6c2748bef22cdbbc9574d7a8dfc1ed55f4f6b05f
Adrian Grange [Wed, 12 Feb 2014 19:14:10 +0000 (11:14 -0800)]
Merge "Minor cleanup."
Jingning Han [Wed, 12 Feb 2014 18:26:06 +0000 (10:26 -0800)]
Merge "Use INTER_OFFSET in vp9_pick_inter_mode"
Yaowu Xu [Wed, 12 Feb 2014 18:13:49 +0000 (10:13 -0800)]
Merge "Fixed a bug where no valid partition is allowed"
Johann [Wed, 12 Feb 2014 17:41:30 +0000 (09:41 -0800)]
Merge "Skip COMDAT sections when parsing COFF"
Deb Mukherjee [Wed, 12 Feb 2014 17:20:31 +0000 (09:20 -0800)]
Merge "Removes active_worst_quality feedback"
Adrian Grange [Wed, 5 Feb 2014 17:45:13 +0000 (09:45 -0800)]
Minor cleanup.
Change-Id: I6ef0ce5371ed9e2a415dd8c08c93ad603f0ad7b2
Jingning Han [Mon, 10 Feb 2014 20:54:56 +0000 (12:54 -0800)]
Use INTER_OFFSET in vp9_pick_inter_mode
Cosmetic change to use pre-defined macros.
Change-Id: I93e9fa90113d0242599048940b39694660385a6f
Yaowu Xu [Tue, 11 Feb 2014 01:19:36 +0000 (17:19 -0800)]
Fixed a bug where no valid partition is allowed
Change-Id: I4d2729dc5c46db2847700256941a66b0957c105d
Dmitry Kovalev [Wed, 12 Feb 2014 05:12:23 +0000 (21:12 -0800)]
Adding API to get vpx encoder/decoder interface.
Change-Id: I137e5e6585356792913e1e84da6c0a439c5153a5
Yunqing Wang [Wed, 12 Feb 2014 05:07:24 +0000 (21:07 -0800)]
Merge "Enable encode_breakout in real time encoding"
Frank Galligan [Wed, 12 Feb 2014 02:33:02 +0000 (18:33 -0800)]
Fix frames that have no references to them.
BasicRateTargeting3TemporalLayers found an error with
the get/release frame buffer management.
Change-Id: Iccff25cba1d2f276f2a0d0fb7b20cf99b4405549
Dmitry Kovalev [Wed, 12 Feb 2014 02:08:06 +0000 (18:08 -0800)]
Removing init_rdcost_stack() + cleanup.
Change-Id: I6fcbc833063c658749b2d43bb9968a5762647061
Dmitry Kovalev [Wed, 12 Feb 2014 02:06:00 +0000 (18:06 -0800)]
Removing vp9_foreach_transformed_block_uv() function.
Change-Id: I35ec77b71e6fd686865cead9281e4dd9e9bc9e86
Dmitry Kovalev [Wed, 12 Feb 2014 01:36:05 +0000 (17:36 -0800)]
Merge "Hiding encode_b_args struct inside vp9_encodemb.c."
Dmitry Kovalev [Tue, 11 Feb 2014 19:52:30 +0000 (11:52 -0800)]
Cleaning up vp9_full_search_sad_c() function.
Change-Id: Ief941ff75c5e25f3288326a162b1bd0c0f17a779
Dmitry Kovalev [Tue, 11 Feb 2014 19:59:31 +0000 (11:59 -0800)]
Removing x86_cpuid.c.
The file has implementation of only one function vpx_x86_vendor() which
is unused.
Change-Id: Icf8d7ee67cc8372affb7b5a436328cecdfd5e291
Deb Mukherjee [Tue, 11 Feb 2014 01:52:44 +0000 (17:52 -0800)]
Removes active_worst_quality feedback
Removes certain cases of feedback of active_worst_quality,
and removes it from the RATE_CONTROL structure. Now active
worst quality is expected to be computed locally in the
q picking function during the encode.
Making temporal filter strength depend on avg_frame_qindex
rather than on active_worst_quality actually improves
performance esp. for yt.
derf: +0.038%
yt: +0.359%
Change-Id: I1fe5a343034b55af9322289165321f00ac0827b1
Tom Finegan [Wed, 12 Feb 2014 00:14:43 +0000 (16:14 -0800)]
Merge "vpxenc: Silence MSVC warnings."
Yunqing Wang [Tue, 4 Feb 2014 19:09:34 +0000 (11:09 -0800)]
Enable encode_breakout in real time encoding
In real time encoding, we enable encode_breakout to make encoding
fast. A speed feature "use_encode_breakout" is defined to set
encode_breakout thresholds for different speeds.
However, currently, static_thresh is an encoder option. The encode_
breakout can be turned off if user sets static_thresh=0 specifically.
The rtc set borg test result: (need to set --static_thresh=1)
speed -5, psnr loss -3.543%;
speed -4, psnr loss -2.358%;
speed -3, psnr loss -0.771%.
Encoding speed test:
speed -5, 11% - 60% speedup;
speed -4, 5.5% - 28% speedup;
speed -3, 0.8% - 7% speedup.
Change-Id: Icde592ffbe77eac7446f872a2e9eb2051733677b
Dmitry Kovalev [Tue, 11 Feb 2014 23:20:41 +0000 (15:20 -0800)]
Merge "Disabling BasicRateTargeting3TemporalLayers test."
Tom Finegan [Tue, 11 Feb 2014 22:39:27 +0000 (14:39 -0800)]
Merge "vp9/common/x86: Silence MSVC warnings in vp9_asm_stubs.c."
Dmitry Kovalev [Tue, 11 Feb 2014 22:37:13 +0000 (14:37 -0800)]
Disabling BasicRateTargeting3TemporalLayers test.
Frank is going to fix it soon, disabling for now.
Change-Id: Ifb7092d7db5af01bde62897af189fd620b7bbdf3
Dmitry Kovalev [Tue, 11 Feb 2014 19:12:29 +0000 (11:12 -0800)]
Merge "Cleaning up compute_fast_motion_search_level()."
Dmitry Kovalev [Tue, 11 Feb 2014 18:19:59 +0000 (10:19 -0800)]
Merge "Fixing errorperbit calculation."
Tom Finegan [Mon, 10 Feb 2014 22:55:25 +0000 (14:55 -0800)]
vpxenc: Silence MSVC warnings.
Change-Id: I7dd8532052f0b2d4077f579e78db3987b58e3d2a
Tom Finegan [Tue, 11 Feb 2014 17:28:35 +0000 (09:28 -0800)]
Merge "vpx_temporal_scalable_patterns: Remove extra const."
Jingning Han [Tue, 11 Feb 2014 16:49:40 +0000 (08:49 -0800)]
Merge "Rework mode_info update in vp9_pick_inter_mode"
Jingning Han [Tue, 11 Feb 2014 16:49:35 +0000 (08:49 -0800)]
Merge "Use more meaningful names for speed features"
Paul Wilkins [Mon, 3 Feb 2014 12:47:01 +0000 (12:47 +0000)]
Modified Aq1 and Aq2
Aq 1 only updates segment map on kf and arf and
only uses 3 segments. With these settings AQ1 is
+ for most clips in SSIM but negative in psnr.
However, the penalty in PSNR is much less than
previously.
Old version aq1 average results for std hd
-20.899% psnr, -5.809% SSIM
New version aq1 for std hd
-3.57% psnr, +1.23% SSIM
Aq2 Now uses only 2 segments and rd.
This mode is still slightly negative for most clips on
psnr and SSIM but seems to have a much bigger visual
impact on several problem clips than aq mode 1.
Old results for std hd:
-2.578% psnr, -1.151% SSIM
New results for std hd:
-1.561% psnr, -0.85% SSIM
Change-Id: I94f57f8a73121629ce598fb921aad761c1450e1c
Frank Galligan [Tue, 11 Feb 2014 16:19:37 +0000 (08:19 -0800)]
Merge "Add get release decoder frame buffer functions."
Dmitry Kovalev [Tue, 11 Feb 2014 05:32:04 +0000 (21:32 -0800)]
Merge "Encoder quantization cleanup."
Tom Finegan [Tue, 11 Feb 2014 02:08:31 +0000 (18:08 -0800)]
vpx_temporal_scalable_patterns: Remove extra const.
Silences MSVC warning.
Change-Id: I43191cdd8f0231b259ec091be24325ec99d2e962
Dmitry Kovalev [Tue, 11 Feb 2014 01:30:29 +0000 (17:30 -0800)]
Merge "Cleaning up update_stats() function."
Dmitry Kovalev [Tue, 11 Feb 2014 01:29:40 +0000 (17:29 -0800)]
Merge "Making vp9_activity_masking() static."
Tom Finegan [Tue, 11 Feb 2014 00:42:34 +0000 (16:42 -0800)]
Merge "vpx_integer: Use inttypes.h in MSVC (2013 and later)."
Deb Mukherjee [Tue, 11 Feb 2014 00:38:19 +0000 (16:38 -0800)]
Merge "Further one-pass vbr rate control changes"
James Zern [Mon, 10 Feb 2014 23:39:28 +0000 (15:39 -0800)]
Merge "*.mk: s/\bUSE_X86INC/CONFIG_USE_X86INC/"
Tom Finegan [Mon, 10 Feb 2014 23:30:43 +0000 (15:30 -0800)]
vpx_integer: Use inttypes.h in MSVC (2013 and later).
Change-Id: I2c47f0ab13de82de8833c3f134e5f3c74394374f
Jingning Han [Mon, 10 Feb 2014 20:38:46 +0000 (12:38 -0800)]
Rework mode_info update in vp9_pick_inter_mode
This commit moves unnecessary mode_info update steps out of inter
mode test loop.
Change-Id: I3705450c44cda060021f4fd76c34f1b20d11658b
Jingning Han [Mon, 10 Feb 2014 20:03:02 +0000 (12:03 -0800)]
Use more meaningful names for speed features
Use frame_parameter_update to precisely describe the functionality.
Change-Id: Ia9a55ba8efef7b987e30d949dd00ac716189bdb9
Tom Finegan [Fri, 7 Feb 2014 05:42:03 +0000 (21:42 -0800)]
vp9/common/x86: Silence MSVC warnings in vp9_asm_stubs.c.
Update filter_1dfunction definition to match usage.
Change-Id: Ie3cae13dc1ec3f5838c5f29d1c76a1a98a9217fa
Yaowu Xu [Mon, 10 Feb 2014 22:50:01 +0000 (14:50 -0800)]
Merge "Merged two similar functions to reduce duplication"
Dmitry Kovalev [Mon, 10 Feb 2014 22:27:48 +0000 (14:27 -0800)]
Merge "Cleaning up {simple, twopass}_encoder examples."
Deb Mukherjee [Fri, 7 Feb 2014 23:52:41 +0000 (15:52 -0800)]
Further one-pass vbr rate control changes
Some parameter changes and fixes on one-pass rate control.
derfraw300 is now only 10% below 2-pass speed 0 rate control.
Change-Id: I1940eef8a5a035dc18e71b880d5e00cabd1f01b9
Dmitry Kovalev [Mon, 10 Feb 2014 22:14:18 +0000 (14:14 -0800)]
Merge "Cleaning up rd_check_segment_txsize() function."
Frank Galligan [Thu, 6 Feb 2014 01:44:42 +0000 (17:44 -0800)]
Add get release decoder frame buffer functions.
This CL changes libvpx to call a function when a frame buffer
is needed for decode. Libvpx will call a release callback when
no other frames reference the frame buffer. This CL adds a
default implementation of the frame buffer callbacks. Currently
only VP9 is supported. A future CL will add support for
applications to supply their own frame buffer callbacks.
Change-Id: I1405a320118f1cdd95f80c670d52b085a62cb10d