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
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
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
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"
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
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"
Dmitry Kovalev [Fri, 21 Mar 2014 20:23:18 +0000 (13:23 -0700)]
Merge "Cleaning up vp9_mcomp.c."
Yunqing Wang [Fri, 21 Mar 2014 19:23:47 +0000 (12:23 -0700)]
Fix libvpx VP9 decoder dr memory errors
Fixed dr memory errors reported in Issue 736:
https://code.google.com/p/webm/issues/detail?id=736
All elements in left_col buffer need to be initialized to ensure
the correctness of SIMD operations in x86 optimized code.
Change-Id: I8e7f26ab45cca8099c1f9342bcf852f828bda7e4
Dmitry Kovalev [Fri, 28 Feb 2014 02:58:32 +0000 (18:58 -0800)]
Using local variable for token_cache.
We use local variable for token_cache in the decoder.
Change-Id: I032763fa7894313cffe73e3f14863ae1d0527665
Yaowu Xu [Fri, 21 Mar 2014 19:13:44 +0000 (12:13 -0700)]
Merge "Fix bad speed settings interaction."
Dmitry Kovalev [Fri, 21 Mar 2014 19:12:55 +0000 (12:12 -0700)]
Removing redundant {above, left}_seg_context manipulation code.
Change-Id: Ib3c1746e61220c629cbd971b2458aa686b5c9e36
Dmitry Kovalev [Fri, 21 Mar 2014 19:02:42 +0000 (12:02 -0700)]
Merge "Reusing {above, left}_seg_context vars in both encoder and decoder."
Dmitry Kovalev [Fri, 21 Mar 2014 19:01:25 +0000 (12:01 -0700)]
Merge "Removing source & source_sz from VP9Decompressor struct."
Dmitry Kovalev [Fri, 21 Mar 2014 19:00:26 +0000 (12:00 -0700)]
Tiny vp9_picklpf.c cleanup.
Change-Id: I1804c3629c3df2b67438e87196ab35fafaddaa24
Yaowu Xu [Fri, 21 Mar 2014 18:13:48 +0000 (11:13 -0700)]
Merge "changed to use correct pred_mv"
Yaowu Xu [Fri, 21 Mar 2014 18:13:43 +0000 (11:13 -0700)]
Merge "Fix a valgrind error"
Yaowu Xu [Fri, 21 Mar 2014 03:02:08 +0000 (20:02 -0700)]
changed to use correct pred_mv
The third pred_mv is stored in x->pred_mv[ref_frame]. This commit make
sure the correct mv is read.
Change-Id: Ibed24daf36703a63f0394c87b2381ee1d2eb7910
Yunqing Wang [Wed, 19 Mar 2014 18:52:13 +0000 (11:52 -0700)]
Add prediction mode skipping in non-rd situation
In non-rd pick_mode code, added mode skipping according to
thresholds. Used rd thresholds now, but we can modified them
later for real-time case.
RTC set borg test showed a 0.095% PSNR gain. For different rtc
clips, the real-time(speed 7) encoder speedup is 2% - 10%.
Change-Id: Ic72535c96b891092c662453be32d3168f7e34dcc
Yaowu Xu [Fri, 21 Mar 2014 15:44:04 +0000 (08:44 -0700)]
Merge "Remove duplicate declaration"
Yaowu Xu [Fri, 21 Mar 2014 02:35:06 +0000 (19:35 -0700)]
Fix a valgrind error
Valgrind was complaining uninitialzed values are being used.
Change-Id: Ia9eb619f4e67d1fb7af1057d50304f15adc02aab
Paul Wilkins [Thu, 20 Mar 2014 15:16:35 +0000 (15:16 +0000)]
Fix bad speed settings interaction.
The flag x->skip_recode interacts badly with
the cpi->sf.use_nonrd_pick_mode and
cpi->sf.skip_encode_sb speed settings.
Restricting the use of the skip_decode flag when
these other speed choices are in use helps quality
for speeds 3 and 4 by a large amount with only a
small impact on speed.
Average improvmentes for 2 pass speed 4:
Derf +8.8%
Yt + 10.53%
Std-Hd +6.95%
yt-hd + 22.95%
Change-Id: I8010876d8012042a11077c92e69d813c3dfa58eb
Marco Paniconi [Fri, 21 Mar 2014 04:15:40 +0000 (21:15 -0700)]
Merge "Some code cleanup for cyclic refresh."
Yaowu Xu [Fri, 21 Mar 2014 00:29:04 +0000 (17:29 -0700)]
Change the min/max q validation in lossless mode
This commit changed how q is validated in lossless mode. With this
commit, when --lossless=1 is specificed at commandline, --min-q and
--max-q are now ignored. This is to make the option non-ambiguious.
Change-Id: I33e85690460537509d33be75d6a3597be4affc09
Yaowu Xu [Wed, 19 Mar 2014 23:19:16 +0000 (16:19 -0700)]
Use local vairable in rd_auto_partition_range()
In addition to a few cleanups.
Change-Id: Ice5938ef494513921a47e7c64ba9928f2202e24e
Marco Paniconi [Fri, 21 Mar 2014 00:58:35 +0000 (17:58 -0700)]
Disable speed 6 for datarate test.
One of the tests for real-time mode is failing at speed 6.
Introduced recently, will enable again when fixed.
Change-Id: I8f42de6a3eca226c9aa5c5e1fab98d629993c087
Marco Paniconi [Thu, 20 Mar 2014 23:42:13 +0000 (16:42 -0700)]
Some code cleanup for cyclic refresh.
Change-Id: I0e4e2462ee27640f9bf4091431241ede6fc97267
Dmitry Kovalev [Thu, 20 Mar 2014 23:08:54 +0000 (16:08 -0700)]
Reusing {above, left}_seg_context vars in both encoder and decoder.
Change-Id: Id1fa36c92cb007b73a450cc8552e810cedad38b9
Tom Finegan [Thu, 20 Mar 2014 22:17:48 +0000 (15:17 -0700)]
Merge "intrapred_test: fix inheritance"
Minghai Shang [Thu, 20 Mar 2014 22:12:14 +0000 (15:12 -0700)]
Merge "[svc] Finalize spatial svc first pass rate control"
Dmitry Kovalev [Thu, 20 Mar 2014 22:01:37 +0000 (15:01 -0700)]
Removing source & source_sz from VP9Decompressor struct.
Change-Id: If4c1a48c60e8b27dd021a83170289ccc5467c6de
Dmitry Kovalev [Thu, 20 Mar 2014 20:43:13 +0000 (13:43 -0700)]
Merge "Removing mi_stream."
Marco Paniconi [Thu, 20 Mar 2014 18:32:39 +0000 (11:32 -0700)]
Log encoding time/fps in vpx_temporal_scalable_patterns
Change-Id: I368750c3641c5daaa8871f3880af5cfcf5e79bba
Yunqing Wang [Fri, 14 Mar 2014 22:42:23 +0000 (15:42 -0700)]
Remove unused mode_sad
Removed mode_sad.
Change-Id: I230b42ac9b617ae2c375e297057aa0756bd355fe
Martin Storsjo [Thu, 20 Mar 2014 06:12:29 +0000 (08:12 +0200)]
ads2armasm_ms: Match the indentation of the previous line
Instead of hardcoding a certain indentation, use the regexp to
provide similar indentation for the new line as well.
Change-Id: Iacb2621b35ce7e1aa3980c1603b8e3ab02d98a35
James Zern [Thu, 20 Mar 2014 02:33:53 +0000 (19:33 -0700)]
Merge "configure: test -m(mmx|sse|sse2|sse3) flags"
James Zern [Thu, 20 Mar 2014 02:10:46 +0000 (19:10 -0700)]
Merge "ads2armasm_ms: Add an ALIGN 4 after ENDP"
Jingning Han [Thu, 20 Mar 2014 01:54:42 +0000 (18:54 -0700)]
Merge "Enable variable block size test in non-RD mode decision"
Dmitry Kovalev [Thu, 20 Mar 2014 01:36:09 +0000 (18:36 -0700)]
Merge "Cleaning up vp9_onyx_if.c and vp9_onyx_int.h."
Dmitry Kovalev [Wed, 19 Mar 2014 23:46:28 +0000 (16:46 -0700)]
Merge "Moving common code into vp9_update_mv_count()."
Jingning Han [Wed, 19 Mar 2014 18:25:40 +0000 (11:25 -0700)]
Enable variable block size test in non-RD mode decision
This is an initial attempt to allow variable block size partition
in non-RD coding flow. It tests 8x8, 16x16 and 32x32 block size per
64x64 block, all using non-RD mode decision and the associated rate
distortion costs from modeling, then selects the best block size to
encode the entire 64x64 block. Such operations are triggered every
other 3 frames. The blocks of intermediate frames will reuse the
collocated block's partition type.
It improves the compression performance by 13.2%. Note that the gains
are not evenly distributed. For many hard clips, the compression
performance is improved by 20% to 28%. Local speed test shows that
it will also increase runtime by 50%, as compared to speed -7. It is
now enabled in speed -6 setting.
Change-Id: Ib4fb8659d21621c9075b3c369ddaa9ecb0a4b204
Dmitry Kovalev [Wed, 19 Mar 2014 21:26:11 +0000 (14:26 -0700)]
Moving common code into vp9_update_mv_count().
Change-Id: I512482853bdf2695fbdf1c705a2ada354ccf76cf
Dmitry Kovalev [Wed, 19 Mar 2014 18:50:04 +0000 (11:50 -0700)]
Adding alloc_mi() function.
Change-Id: I3b944884c048f589c86e0169aeb3c3855bc8b729
Martin Storsjo [Wed, 19 Mar 2014 14:18:44 +0000 (16:18 +0200)]
ads2armasm_ms: Add an ALIGN 4 after ENDP
This makes sure that labels for data symbols directly after
functions get properly 4-byte-aligned (when the source is assembled
in thumb mode).
Previously, if declaring a data symbol directly after a function, the
symbol could end up pointing to the unaligned address (if the total
size of the thumb function didn't end up being a multiple of 4). The
data in the symbol itself ended up aligned, but the symbol pointed to
the preceding unaligned position.
That is, a source file looking like this:
---
...
ENDP
symbol
DCD 0x12345678
---
could end up being assembled into
symbol:
xxxxx2: 0000
xxxxx4: 5678
xxxxx6: 1234
(This doesn't happen if the symbol label is on the same line as the
DCD directive.)
By adding an ALIGN 4 directly after the ENDP we make sure the symbol
itself gets aligned properly.
This isn't an issue with the original, untranslated arm source,
since it only is built in arm mode where all instructions are 4 byte,
and since the gnu assembler automatically adds the padding before the
symbol even in thumb mode.
Change-Id: Iadbeebd656b0197e423e79a12a7d3ef8859cf445
Yaowu Xu [Wed, 19 Mar 2014 16:40:19 +0000 (09:40 -0700)]
Remove duplicate declaration
Change-Id: Ic8e52a89e0df816c38cd8ff1b7c53862b9a6dff2
Jingning Han [Wed, 19 Mar 2014 18:21:41 +0000 (11:21 -0700)]
Merge "Fix the use of uninitialized skip flag"
Dmitry Kovalev [Wed, 19 Mar 2014 18:18:47 +0000 (11:18 -0700)]
Merge "Rearranging and removing unused defines."
Yaowu Xu [Wed, 19 Mar 2014 18:13:28 +0000 (11:13 -0700)]
Merge "Fix the md5 mismatch for some scale cases."
Minghai Shang [Wed, 19 Mar 2014 18:06:20 +0000 (11:06 -0700)]
[svc] Finalize spatial svc first pass rate control
1. Save stats for each spatial layer
2. Add frame buffer management for svc first pass rc
3. Set default spatial layer to 1
4. Flush encoder at the end of stream in test app
This only supports spatial svc.
Change-Id: Ia89cfa87bb6394e6c0405b921d86c426d0a0c9ae
Dmitry Kovalev [Wed, 19 Mar 2014 17:47:32 +0000 (10:47 -0700)]
Removing mi_stream.
Change-Id: If674140e30c223c88894b983fd22a583efb99dcf