]>
granicus.if.org Git - libvpx/log
Paul Wilkins [Mon, 24 Mar 2014 18:11:47 +0000 (18:11 +0000)]
Further speed trade off adjustments.
Small speed gain for speed 1.
Quality is generally a little up for speed 2.
Speed 3 was similar to speed 4 but now positioned more
evenly between 2 and 4 speed and quality wise.
(opsnr +5.6% ssim +8.25% across all sets)
Speed 4 is a little slower than before but sizable quality gains.
(opsnr +3.7% ssim +6.8% across all sets)
The code has been cleaned up a bit so that for each incremental
speed step changes over the previous speed step are applied.
This makes it easier to see what is changing from one setting to
the next.
Change-Id: I2d98d0d6230af23486adaec01908f58942a7cdeb
Paul Wilkins [Fri, 21 Mar 2014 16:14:46 +0000 (16:14 +0000)]
Experimental change to speed 1 settings.
Allow tx search for ARF and GF helps quality but a little slower.
Setting subpel_iters_per_step to 1 improves encode speed.
Setting sf->mode_skip_start = 10 improves speed.
Initial local results suggest overall impact on quality is neutral
but encode is up to 15% faster.
Change-Id: Ibde02cae6626a44c10a1da0cefe888afbb51f037
Marco Paniconi [Wed, 26 Mar 2014 23:05:45 +0000 (16:05 -0700)]
Move aq_mode=2 (complexity_aq) to separate file.
Change-Id: Iffa45b9b04196c1ded6037622a8644a2500a62de
Jingning Han [Wed, 26 Mar 2014 23:06:01 +0000 (16:06 -0700)]
Merge "Motion referenced partition search for non-RD coding flow"
Dmitry Kovalev [Wed, 26 Mar 2014 22:45:11 +0000 (15:45 -0700)]
Merge "Removing prev_mi_8x8 from MACROBLOCKD."
Dmitry Kovalev [Wed, 26 Mar 2014 21:28:45 +0000 (14:28 -0700)]
Merge "Cleaning up vp9_entropymv.c."
Dmitry Kovalev [Wed, 26 Mar 2014 20:39:00 +0000 (13:39 -0700)]
Merge "Encapsulating CYCLIC_REFRESH struct into .c file."
Jingning Han [Wed, 26 Mar 2014 20:00:06 +0000 (13:00 -0700)]
Motion referenced partition search for non-RD coding flow
This commit enables the non-RD mode decision coding flow to
adaptively apply partition search in non-refresh frame, when the
collocated block in previous frame suggests there might be a motion
activity. It refactors the update_state_rt() function to support
buffer swap of mode_info struct, thereby unifying the encoding
stage across various non-RD coding modes.
It provides 5% compression performance gains in speed -6 for rtc
test set, at about 12% speed slow down.
Change-Id: Iefa374aed5a11c4b7ff9a3ed36a98ea8bd184edb
James Zern [Wed, 26 Mar 2014 19:40:16 +0000 (12:40 -0700)]
Merge "tests: use consistent case for VP[89]"
Dmitry Kovalev [Wed, 26 Mar 2014 18:00:35 +0000 (11:00 -0700)]
Encapsulating CYCLIC_REFRESH struct into .c file.
Change-Id: I32695ad703dcbbbbf5f122b403f3d3120a0be366
Dmitry Kovalev [Wed, 26 Mar 2014 17:48:01 +0000 (10:48 -0700)]
Removing prev_mi_8x8 from MACROBLOCKD.
Change-Id: I32beb5f18c10b5771146c55933b5555487f53633
Yaowu Xu [Wed, 26 Mar 2014 16:53:42 +0000 (09:53 -0700)]
Merge "Added a speed feature "allow_skip_recode""
Yaowu Xu [Wed, 26 Mar 2014 16:53:32 +0000 (09:53 -0700)]
Merge "Removed redundant settings"
Jingning Han [Wed, 26 Mar 2014 16:28:55 +0000 (09:28 -0700)]
Merge "Apply early termination in non-RD partition search"
Marco Paniconi [Wed, 26 Mar 2014 16:15:15 +0000 (09:15 -0700)]
Merge "Fix to cylcic refresh: use correct/chosen mode for update_segment."
James Zern [Wed, 26 Mar 2014 05:52:06 +0000 (22:52 -0700)]
Merge "configure: clean up temp gcov (.gcno) files"
Dmitry Kovalev [Wed, 26 Mar 2014 00:17:22 +0000 (17:17 -0700)]
Merge "Removing unused force_next_frame_intra member."
Dmitry Kovalev [Tue, 25 Mar 2014 23:56:33 +0000 (16:56 -0700)]
Merge "Removing redundant references to VP9D_COMP struct."
Marco Paniconi [Tue, 25 Mar 2014 17:33:02 +0000 (10:33 -0700)]
Fix to cylcic refresh: use correct/chosen mode for update_segment.
Fix so that vp9_update_segment_aq() will use the correct (i..e, chosen)
encoding mode (from ctx struct) in update_state.
Change-Id: Icc4b66f3935fad5ec4516a4d57e843d12c365e64
Dmitry Kovalev [Tue, 25 Mar 2014 23:28:49 +0000 (16:28 -0700)]
Merge "Moving setup_{key, inter}_frame() to vp9_onyx_if.c."
Alex Converse [Tue, 25 Mar 2014 22:59:24 +0000 (15:59 -0700)]
Merge "Refactor out zero motion vector equivalence."
Jingning Han [Tue, 25 Mar 2014 18:05:50 +0000 (11:05 -0700)]
Apply early termination in non-RD partition search
This commit allows the recursive non-RD partition search to early
terminate sub search tree when the cumulative rate-distortion is
already above the best available.
Change-Id: Ifdbcbb4bee229f47fde3033200829577c9f1fc1d
Alex Converse [Tue, 25 Mar 2014 22:42:24 +0000 (15:42 -0700)]
Merge "Add consts to cost_mv_ref."
James Zern [Sat, 22 Mar 2014 20:22:15 +0000 (13:22 -0700)]
configure: clean up temp gcov (.gcno) files
Change-Id: I792e4ef7d81aa81beb28091a37a61bafb91b30f4
James Zern [Sat, 22 Mar 2014 21:13:14 +0000 (14:13 -0700)]
tests: use consistent case for VP[89]
Vp[89] -> VP[89]
Change-Id: Ib5863444c0c022cc51e2f160ecea92ca157fdf1d
Dmitry Kovalev [Tue, 25 Mar 2014 21:28:15 +0000 (14:28 -0700)]
Removing unused force_next_frame_intra member.
Change-Id: I3d9fc6da986d0f1ec682fb12e067c52472453eed
Yaowu Xu [Tue, 25 Mar 2014 21:27:45 +0000 (14:27 -0700)]
Added a speed feature "allow_skip_recode"
This commit added a speed feature to make the logic of calculating
skip_recode on a block level more explicit. This also enable the
feature to be enabled at speed 5 where the previous logic is too
conservative, help gain back the lost speed for --rt(-5).
Change-Id: Ieb37ca3e85c2e7bda343486edf13d5f5395f2233
Dmitry Kovalev [Tue, 25 Mar 2014 21:21:26 +0000 (14:21 -0700)]
Removing redundant references to VP9D_COMP struct.
Change-Id: I4c4772c0e6aca2c7d7085a72412ac8dba8874a3d
Alex Converse [Tue, 25 Mar 2014 21:16:11 +0000 (14:16 -0700)]
Refactor out zero motion vector equivalence.
Change-Id: I6b20248b6f76545356f910ca6386f5466e287b6e
Alex Converse [Tue, 25 Mar 2014 21:15:42 +0000 (14:15 -0700)]
Add consts to cost_mv_ref.
Change-Id: Ie5dadb5c2bcfe80a703edb58a71dc453644c9ade
Dmitry Kovalev [Tue, 25 Mar 2014 00:47:25 +0000 (17:47 -0700)]
Removing redundant vpx_free() call.
above_seg_context is alreaded freed during vp9_remove_common() call.
Change-Id: I16b72c710e71d2f143df2d47e876d220c8d374e0
Yaowu Xu [Tue, 25 Mar 2014 19:33:22 +0000 (12:33 -0700)]
Removed redundant settings
The recode_loop feature is disabled for one-pass always.
Change-Id: I6de8820add4a6f97196874af83a970f9898f842d
Dmitry Kovalev [Tue, 25 Mar 2014 01:32:46 +0000 (18:32 -0700)]
Moving above_context to VP9_COMMON.
Change-Id: I713af99d1e17e05a20eab20df51d74ebfd1a68d2
Jingning Han [Tue, 25 Mar 2014 16:54:32 +0000 (09:54 -0700)]
Fix compiling errors due to git merge
There were a few conflicts between the new non-RD partition search
and recent clean-up patches, which were not caught by git control.
This commit fixed these issues.
Change-Id: Ieebefbd6c19d81d0d13e3c568877d5cce2ab7797
Yaowu Xu [Tue, 25 Mar 2014 17:22:18 +0000 (10:22 -0700)]
Merge "Fixed a build issue"
Yaowu Xu [Tue, 25 Mar 2014 16:48:21 +0000 (09:48 -0700)]
Merge "Change back the scaling calculation."
Yaowu Xu [Tue, 25 Mar 2014 16:39:29 +0000 (09:39 -0700)]
Fixed a build issue
Adding the missed include file.
Change-Id: I7e48df6b0633afbebaf1ccb3062ae404e7203dc9
Jingning Han [Tue, 25 Mar 2014 16:27:03 +0000 (09:27 -0700)]
Merge "Always use adaptive motion search in non-RD coding mode"
Jingning Han [Tue, 25 Mar 2014 16:26:49 +0000 (09:26 -0700)]
Merge "Enable recursive partition selection for non-RD coding mode"
Jingning Han [Tue, 25 Mar 2014 05:31:03 +0000 (22:31 -0700)]
Always use adaptive motion search in non-RD coding mode
This commit takes out the if statements on using adaptive motion
search flag. This feature is automatically enabled in non-RD mode
decision flow for variable partition types search.
Change-Id: I5a25cf9109d84d07aa61b3e02c8d32dda1e90cb0
Yunqing Wang [Tue, 25 Mar 2014 03:38:30 +0000 (20:38 -0700)]
Merge "Fix uninitialized read in postprocessing"
Yaowu Xu [Tue, 25 Mar 2014 00:19:48 +0000 (17:19 -0700)]
Merge "Align threading LFWorkerData to 32 bytes."
Dmitry Kovalev [Tue, 25 Mar 2014 00:17:57 +0000 (17:17 -0700)]
Merge "Making c++ compiler happier."
Alex Converse [Tue, 25 Mar 2014 00:04:45 +0000 (17:04 -0700)]
Merge "Don't subpartion inactive area in rd_use_partition."
Alex Converse [Tue, 25 Mar 2014 00:04:30 +0000 (17:04 -0700)]
Merge "Deduplicate and rename mode info step."
Dmitry Kovalev [Mon, 24 Mar 2014 23:12:42 +0000 (16:12 -0700)]
Merge "Initialization code cleanup."
Dmitry Kovalev [Mon, 24 Mar 2014 22:56:25 +0000 (15:56 -0700)]
Merge "General cleanup in vp9_decoder.{h, c}."
Dmitry Kovalev [Mon, 24 Mar 2014 22:54:38 +0000 (15:54 -0700)]
Merge "Using local variable for token_cache."
Dmitry Kovalev [Mon, 24 Mar 2014 22:52:09 +0000 (15:52 -0700)]
Merge "Adding get_buf_from_mv() function."
Dmitry Kovalev [Mon, 24 Mar 2014 22:44:50 +0000 (15:44 -0700)]
Merge "Cleaning up vp9_aq_cyclicrefresh.{c, h}."
Yunqing Wang [Mon, 24 Mar 2014 21:54:25 +0000 (14:54 -0700)]
Fix uninitialized read in postprocessing
This patch fixed WebRTC Issue 3020: "Uninit error at
vp8_mbpost_proc_down_xmm". The first 8 values in d were not initialized,
but was accessed. This patch fixed c code as well as mmx and sse2 code.
Change-Id: Iaa5b41a4ed3bea971b15fb826ce34b7ab4e36fb1
Jingning Han [Fri, 21 Mar 2014 18:05:39 +0000 (11:05 -0700)]
Enable recursive partition selection for non-RD coding mode
This commit enables a recursive partition type search for non-RD
mode decisions. It allows the encoder to choose variable block
sizes in a 64x64 block based on rate-distortion modeling.
It improves speed -6 coding efficiency for rtc set by 2.4%. Most
of the gains come from 32-40dB range, where many sequences gain
about 5% to 20%. Local tests suggest there is no speed change.
Change-Id: I06300016e500a21652812b7b3b081db39a783d66
Jim Bankoski [Mon, 24 Mar 2014 21:18:24 +0000 (14:18 -0700)]
Merge "vp9_write_bit_buffer.h header statics converted to globals"
Jim Bankoski [Mon, 24 Mar 2014 21:18:07 +0000 (14:18 -0700)]
Merge "vp9_variance.h header static version converted to global"
Dmitry Kovalev [Mon, 24 Mar 2014 21:17:23 +0000 (14:17 -0700)]
Merge "Adding init_rate_control() function + cleanup."
Alex Converse [Wed, 19 Mar 2014 00:00:30 +0000 (17:00 -0700)]
Don't subpartion inactive area in rd_use_partition.
Change-Id: I50db8d3c99eea39e46cc5876cb1f49513c084073
Alex Converse [Fri, 21 Mar 2014 21:24:03 +0000 (14:24 -0700)]
Deduplicate and rename mode info step.
Change-Id: Ie624a119ce8e0891f4ca396040d679e22ef8ce27
Yaowu Xu [Mon, 24 Mar 2014 19:48:27 +0000 (12:48 -0700)]
Align threading LFWorkerData to 32 bytes.
This is to silent a number misalignment warning reported by valgrind.
Change-Id: Ia47a06010b28d7a88dde21f3e4ccb9308fc6f8cf
Dmitry Kovalev [Mon, 24 Mar 2014 19:21:22 +0000 (12:21 -0700)]
Initialization code cleanup.
Change-Id: I47a8b4bf9a6cc0063d1a6785eaaad641d0659e24
Dmitry Kovalev [Mon, 24 Mar 2014 17:48:14 +0000 (10:48 -0700)]
Cleaning up vp9_aq_cyclicrefresh.{c, h}.
Change-Id: I288e5ffade508fc3c803986d47ccf06df8d784dd
Dmitry Kovalev [Mon, 24 Mar 2014 18:27:08 +0000 (11:27 -0700)]
Moving setup_{key, inter}_frame() to vp9_onyx_if.c.
Change-Id: I044e393438c7b58a6393e20efa38fd03d745ad33
Jim Bankoski [Mon, 24 Mar 2014 18:08:27 +0000 (11:08 -0700)]
Merge "refactor reset_skip_txfm_size and elimate a lot of code"
Jim Bankoski [Mon, 24 Mar 2014 18:07:53 +0000 (11:07 -0700)]
Merge "vp9_onyx_int.h convert header statics to inline"
Dmitry Kovalev [Mon, 24 Mar 2014 18:02:27 +0000 (11:02 -0700)]
Cleaning up vp9_entropymv.c.
Change-Id: I01b3530779da89acb84c71bac5ccac456f00c5ac
Marco Paniconi [Mon, 24 Mar 2014 17:54:52 +0000 (10:54 -0700)]
Merge "Fix to a static warning."
Dmitry Kovalev [Mon, 24 Mar 2014 17:54:22 +0000 (10:54 -0700)]
Adding init_rate_control() function + cleanup.
Change-Id: I49b0937a8dd3520f20435a4817a408a094ab1679
Minghai Shang [Mon, 24 Mar 2014 17:54:06 +0000 (10:54 -0700)]
Merge "[svc] Add min/max q and min/max bitrate in svc test app"
Yunqing Wang [Mon, 24 Mar 2014 17:52:32 +0000 (10:52 -0700)]
Merge "AVX2 SAD Optimization:"
Jim Bankoski [Mon, 3 Mar 2014 23:40:13 +0000 (15:40 -0800)]
vp9_write_bit_buffer.h header statics converted to globals
Change-Id: I12c29a630da1fbc5508f11b61d182f9b527b3a35
Jim Bankoski [Mon, 3 Mar 2014 23:32:38 +0000 (15:32 -0800)]
vp9_variance.h header static version converted to global
Change-Id: I8d02cdb5e7fef02b8c95413dfd239fa51a8c7777
Marco Paniconi [Mon, 24 Mar 2014 16:31:17 +0000 (09:31 -0700)]
Fix to a static warning.
Change-Id: I398decf319c8f4d1b3abe1f276e009840e61b684
Dmitry Kovalev [Mon, 24 Mar 2014 16:27:06 +0000 (09:27 -0700)]
Merge "Removing unused members from VP9D_CONFIG struct."
Jim Bankoski [Mon, 24 Mar 2014 16:26:20 +0000 (09:26 -0700)]
vp9_onyx_int.h convert header statics to inline
Change-Id: I7872b726511887494107466a946e2b34e3d74045
Dmitry Kovalev [Mon, 24 Mar 2014 16:02:06 +0000 (09:02 -0700)]
Merge "Cleaning up vp9_loopfilter.c."
Jim Bankoski [Mon, 24 Mar 2014 15:51:45 +0000 (08:51 -0700)]
refactor reset_skip_txfm_size and elimate a lot of code
Change-Id: Id70bd0ff8836c28d9c8653e018e071ca9fb06610
hkuang [Fri, 21 Mar 2014 21:27:03 +0000 (14:27 -0700)]
Change back the scaling calculation.
Let the calculation to be compatible with Google's HW implementation.
Change-Id: I22e179888cdb0419e230351c0a47661b37051fef
Jim Bankoski [Tue, 11 Mar 2014 16:28:45 +0000 (09:28 -0700)]
vp9_block.h static reconverted to inline
Change-Id: I0e7d2815839d8a64250116a5486570d03659a4c0
Dmitry Kovalev [Sun, 23 Mar 2014 05:31:48 +0000 (22:31 -0700)]
Merge "Removing redundant {above, left}_seg_context manipulation code."
Dmitry Kovalev [Sun, 23 Mar 2014 05:31:38 +0000 (22:31 -0700)]
Merge "Removing output_partition from vp9."
Jingning Han [Sat, 22 Mar 2014 04:43:02 +0000 (21:43 -0700)]
Merge "Reformat non-RD coding flow"
Dmitry Kovalev [Sat, 22 Mar 2014 04:19:31 +0000 (21:19 -0700)]
Merge "Convert use_fast_lpf_pick to an enum."
Dmitry Kovalev [Sat, 22 Mar 2014 04:19:18 +0000 (21:19 -0700)]
Merge "Renaming and making vp9_update_mode_info_border() static."
Dmitry Kovalev [Sat, 22 Mar 2014 01:33:20 +0000 (18:33 -0700)]
Merge "Cleaning up vp9_svc_layercontext.c"
Minghai Shang [Fri, 14 Mar 2014 18:57:51 +0000 (11:57 -0700)]
[svc] Add min/max q and min/max bitrate in svc test app
Change-Id: I67ea45119f23659279d24aa67eb823c751ac86fc
Marco Paniconi [Sat, 22 Mar 2014 00:17:53 +0000 (17:17 -0700)]
Merge "Rename the aq_mode files."
Jingning Han [Thu, 20 Mar 2014 21:06:54 +0000 (14:06 -0700)]
Reformat non-RD coding flow
This commit reformats non-RD coding flow layout to allow mode
decision with fixed and variable block sizes.
Change-Id: I2cdd3bb9f26c499ee4a9849004fd925cdd195d09
Dmitry Kovalev [Fri, 21 Mar 2014 23:31:15 +0000 (16:31 -0700)]
Cleaning up vp9_loopfilter.c.
Change-Id: I7c7cf7d3c7b00d1c74ffa8aa8fb8d78a0e48326f
Dmitry Kovalev [Fri, 21 Mar 2014 23:10:51 +0000 (16:10 -0700)]
Removing output_partition from vp9.
Change-Id: I5e0c558b86cf300722ab34fa45ab4ad7c81bd4df
Dmitry Kovalev [Fri, 21 Mar 2014 22:57:31 +0000 (15:57 -0700)]
Adding get_buf_from_mv() function.
Change-Id: I21aff45546778b8393e2edf2d810448dec1f4cdb
Frank Galligan [Fri, 21 Mar 2014 22:24:39 +0000 (15:24 -0700)]
Merge "Fix libvpx VP9 decoder dr memory errors"
Marco Paniconi [Fri, 21 Mar 2014 21:31:53 +0000 (14:31 -0700)]
Rename the aq_mode files.
Change-Id: Id76a628495c822e23825b66a7589b4a3279680e2
Alex Converse [Fri, 21 Mar 2014 21:59:26 +0000 (14:59 -0700)]
Convert use_fast_lpf_pick to an enum.
Change-Id: I06e17b489dea74dedea356c73ef72dc5ffad3a30
Dmitry Kovalev [Fri, 21 Mar 2014 21:37:01 +0000 (14:37 -0700)]
Making c++ compiler happier.
Change-Id: Ie224e968589bdb0774dc112e6f6df56cc0447465
Dmitry Kovalev [Fri, 21 Mar 2014 21:20:13 +0000 (14:20 -0700)]
General cleanup in vp9_decoder.{h, c}.
Change-Id: I68819558a9c5ac6ea85fe62260712af6f4cc46b7
Dmitry Kovalev [Fri, 21 Mar 2014 21:08:19 +0000 (14:08 -0700)]
Removing unused members from VP9D_CONFIG struct.
Change-Id: I83a201ab4dcf2f00131f2030f382c6dbfcb39d7e
Dmitry Kovalev [Fri, 21 Mar 2014 21:03:49 +0000 (14:03 -0700)]
Merge "Tiny vp9_picklpf.c cleanup."
Dmitry Kovalev [Fri, 21 Mar 2014 21:02:25 +0000 (14:02 -0700)]
Renaming and making vp9_update_mode_info_border() static.
Change-Id: Ibb72a29cae9ca9443aae56fc4c5458d190eae279
Dmitry Kovalev [Fri, 21 Mar 2014 20:56:15 +0000 (13:56 -0700)]
Cleaning up vp9_svc_layercontext.c
Change-Id: I7c94b02f621ccc1a738b0d52edf60e9012cfc014
levytamar82 [Thu, 13 Mar 2014 21:47:30 +0000 (14:47 -0700)]
AVX2 SAD Optimization:
2 functions were optimized for avx2 by using full 256 bit register
In order to handle 32 elements in parallel instead of only 16 in parallel:
1. vp9_sad32x32x4d
2. vp9_sad64x64x4d
The function level gain is 66% and the user level gain is ~1%.
Change-Id: I4efbb3bc7d8bc03b64b6c98f5cd5c4a9dd3212cb
Yunqing Wang [Fri, 21 Mar 2014 20:40:27 +0000 (13:40 -0700)]
Merge "Add prediction mode skipping in non-rd situation"