James Zern [Wed, 5 Mar 2014 06:15:59 +0000 (22:15 -0800)]
Merge changes Ibc5352e6,I28d0ec5c,I5c4fc3bb,Ie574a3a7
* changes:
nestegg: ne_buffer_read: quiet uint64->size_t warning
nestegg: quiet read related uint64->size_t warnings
nestegg: ne_parse: normalize size_t usage
nestegg: ne_read_(string|binary|block): normalize size_t usage
Tom Finegan [Tue, 4 Mar 2014 22:31:16 +0000 (14:31 -0800)]
Merge "vp8_decrypt_test.c: Silence MSVC data loss warning."
Marco Paniconi [Tue, 4 Mar 2014 02:51:32 +0000 (18:51 -0800)]
Avoid gf/altref boost in pick_q under svc cbr mode.
Change-Id: Ib719a9f74924718715592e0238bc391ae239d026
James Zern [Tue, 4 Mar 2014 02:40:15 +0000 (18:40 -0800)]
nestegg: ne_buffer_read: quiet uint64->size_t warning
the buffer length is already a size_t making the offset into it limited
Change-Id: Ibc5352e69049186cc07f7d86117696b11a98a600
James Zern [Tue, 4 Mar 2014 02:40:06 +0000 (18:40 -0800)]
nestegg: quiet read related uint64->size_t warnings
ne_read_ebml_lacing / ne_read_discard_padding
+ add some asserts
Change-Id: I28d0ec5c8f901ae0a35928a8f512c51b3ecf177d
James Zern [Tue, 4 Mar 2014 02:40:00 +0000 (18:40 -0800)]
nestegg: ne_parse: normalize size_t usage
in calls to ne_read_simple / ne_io_read_skip
Change-Id: I5c4fc3bb41832973830ad54248839d6a4944aae6
James Zern [Tue, 4 Mar 2014 02:39:43 +0000 (18:39 -0800)]
nestegg: ne_read_(string|binary|block): normalize size_t usage
+ nestegg_track_codec_data
quiets uint64_t -> size_t warnings
the sizes used are previously validated against their associated LIMIT_*
values
Change-Id: Ie574a3a7496d0143bd58b778145c27f38dd6a4da
Tom Finegan [Tue, 4 Mar 2014 02:04:35 +0000 (18:04 -0800)]
vp8_decrypt_test.c: Silence MSVC data loss warning.
- Change type of encrypt_buffer() offset argument to ptrdiff_t, and change the
type of the size argument to size_t.
- Update size argument encrypt_buffer() in vp8_boolcoder_test.c with
same.
Change-Id: Ie29c7c82c73318bee01b89c6fb4c4e1442eef03c
Dmitry Kovalev [Tue, 4 Mar 2014 01:27:51 +0000 (17:27 -0800)]
Merge "Cleaning up vp9_init_dsmotion_compensation()."
Deb Mukherjee [Fri, 28 Feb 2014 22:29:22 +0000 (14:29 -0800)]
Refactoring motion search libs
The core motion estimation fucntions all return sad now consistently.
The only exception is vp9_full_pixel_diamond(), however the core diamond
and refining search routines called from vp9_full_pixel_diamond() also
return SAD. If variance of pred error + mv cost is desired it must be
calculated explicitly outside these functions. For very fast encoding,
hopefully this will eliminate some redundant computations.
Also suggests reimplementing FAST_HEX with the vp9_pattern_search
framework. It is not exactly the same as the existing FAST_HEX, but
performance is slightly better and speed is very similar. Enables
removing a lot of duplicate code.
Change-Id: I152736393438c25bdf7e96b37cbb8ce330f4f94a
Dmitry Kovalev [Mon, 3 Mar 2014 22:24:28 +0000 (14:24 -0800)]
Merge "Adding get_tx_type() instead of get_tx_type_{8x8, 16x16}."
Dmitry Kovalev [Mon, 3 Mar 2014 22:24:04 +0000 (14:24 -0800)]
Merge "Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h."
Dmitry Kovalev [Mon, 3 Mar 2014 22:17:31 +0000 (14:17 -0800)]
Merge "Adding consts and cleaning up vp9_rdopt."
Jim Bankoski [Mon, 3 Mar 2014 22:08:24 +0000 (14:08 -0800)]
Merge "cost_coefs approximation speed up"
James Zern [Mon, 3 Mar 2014 20:59:34 +0000 (12:59 -0800)]
Merge changes I67b2b0d7,I24c024d1,I3703d739,Ia6f669a9
* changes:
nestegg: packet_track: fix uint64->uint32 warning
nestegg: fix track_scale double->uint64 warning
nestegg: fix track_number uint64->uint32 warnings
nestegg: add ne_get_uint32 convenience function
Alex Converse [Mon, 3 Mar 2014 20:55:25 +0000 (12:55 -0800)]
Merge "Enforce intra_y_mode_mask for inter rd."
Alex Converse [Mon, 3 Mar 2014 20:30:22 +0000 (12:30 -0800)]
Merge "Refactor ZEROMV equivalence"
Yunqing Wang [Mon, 3 Mar 2014 20:21:52 +0000 (12:21 -0800)]
Merge "Reset search_method for non-rd pick mode"
Dmitry Kovalev [Thu, 27 Feb 2014 23:46:48 +0000 (15:46 -0800)]
Adding get_tx_type() instead of get_tx_type_{8x8, 16x16}.
Change-Id: I4a54b12e5229705222c5a101258b9d1f81e2948d
Dmitry Kovalev [Mon, 3 Mar 2014 20:19:51 +0000 (12:19 -0800)]
Adding consts and cleaning up vp9_rdopt.
Change-Id: I9423b543e1be414e5c9e10480b813f06e6b88f8a
Dmitry Kovalev [Mon, 3 Mar 2014 20:10:37 +0000 (12:10 -0800)]
Merge "Merging error-resilient example into simple_encoder."
Jim Bankoski [Mon, 3 Mar 2014 19:49:13 +0000 (11:49 -0800)]
cost_coefs approximation speed up
This patch adds a new speed feature which doesn't do the rather
expensive entropy context lookup or save to the table, while
doing costing.
The speed up on desktop36p.y4m is around 10% other clips much less.
On the RTC test set this was + 1% in overall datarate.
Change-Id: Ia5144bbf45270671e7be9c8e4055369909e2f738
Alex Converse [Fri, 28 Feb 2014 18:28:57 +0000 (10:28 -0800)]
Refactor ZEROMV equivalence
This gets more accurate mode hit stats. It's also the first step to
handling ZEROMV not being allowed more intelligently.
Change-Id: I5de6734507b5177bf73e9ddbad923f218c39f3e4
Yunqing Wang [Mon, 3 Mar 2014 19:12:11 +0000 (11:12 -0800)]
Reset search_method for non-rd pick mode
Reset FAST_HEX search_method, which was lost because of code merging.
Change-Id: Ic2b2cb9ec2f1751e96f7db0f9226310f605fcc83
Alex Converse [Fri, 28 Feb 2014 03:13:48 +0000 (19:13 -0800)]
Enforce intra_y_mode_mask for inter rd.
intra_y_mode_mask is already enforced for the sub8x8 case.
intra_uv_mode_mask is already enforced for all sizes.
Change-Id: Ia9dd14701cb49873c2e8f24eb5f8b255eaf76a1f
Alex Converse [Mon, 3 Mar 2014 18:23:51 +0000 (10:23 -0800)]
Merge "Cleanup conditions in vp9_rd_pick_inter_mode_sb()."
Paul Wilkins [Mon, 3 Mar 2014 17:28:12 +0000 (09:28 -0800)]
Merge "Clear implied conversion to int64_t warning."
Dmitry Kovalev [Mon, 3 Mar 2014 17:18:28 +0000 (09:18 -0800)]
Merge "Removing VP9D_PTR."
Yunqing Wang [Mon, 3 Mar 2014 17:01:36 +0000 (09:01 -0800)]
Merge "AVX2 SubPixel AVG Variance Optimization"
Yaowu Xu [Mon, 3 Mar 2014 16:36:06 +0000 (08:36 -0800)]
Merge "vp9_lookahead_push(): remove unused parameters"
Yaowu Xu [Mon, 3 Mar 2014 16:36:00 +0000 (08:36 -0800)]
Merge "vp9_decodeframe.c: remove unused params"
Paul Wilkins [Mon, 3 Mar 2014 16:29:27 +0000 (08:29 -0800)]
Merge "Silence int64 to int warning"
Yaowu Xu [Mon, 3 Mar 2014 16:24:49 +0000 (08:24 -0800)]
Merge "vp9_mbgraph.c: remove unused parameters"
Yaowu Xu [Mon, 3 Mar 2014 16:24:39 +0000 (08:24 -0800)]
Merge "temporal_filter_find_matching_mb_c(): remove a param"
Yaowu Xu [Mon, 3 Mar 2014 16:24:30 +0000 (08:24 -0800)]
Merge "vp9_prob_diff_update_savings_search_model(): remove params"
Paul Wilkins [Mon, 3 Mar 2014 15:41:21 +0000 (15:41 +0000)]
Clear implied conversion to int64_t warning.
Clear warning caused by implied conversion from int32 to int64.
Change-Id: I473b37a54984cbfb22702eb3f712465881ff86e8
Paul Wilkins [Mon, 3 Mar 2014 15:30:13 +0000 (15:30 +0000)]
Silence int64 to int warning
Change-Id: Ic97ddd5143425a7b63fac4e40d9740a10a0491ad
Yaowu Xu [Mon, 3 Mar 2014 14:53:35 +0000 (06:53 -0800)]
Merge "vp9_firstpass.c: remove unused functions & params"
Dmitry Kovalev [Mon, 3 Mar 2014 09:03:21 +0000 (01:03 -0800)]
Merge "Sorting includes in vp9_firstpass.c."
Yaowu Xu [Mon, 3 Mar 2014 04:48:54 +0000 (20:48 -0800)]
vp9_mbgraph.c: remove unused parameters
Change-Id: I5a01d0dccc9afc87e2adbb5ddc7d44379fe1f125
Yaowu Xu [Mon, 3 Mar 2014 04:42:29 +0000 (20:42 -0800)]
temporal_filter_find_matching_mb_c(): remove a param
There is one parameter that is never used, therefore is removed.
Change-Id: I595722e7c5731534c72831315359e4dce9c21763
Yaowu Xu [Mon, 3 Mar 2014 04:36:32 +0000 (20:36 -0800)]
vp9_prob_diff_update_savings_search_model(): remove params
Two paramemters are not in use, therefore are removed.
Change-Id: I41eb601b7b4bf2feedb13b3f240315656d8694f9
Yaowu Xu [Sun, 2 Mar 2014 04:59:19 +0000 (20:59 -0800)]
vp9_lookahead_push(): remove unused parameters
Change-Id: Ia319bd924401677b5c30b0f46d1ab2be6a1f446e
Yaowu Xu [Sun, 2 Mar 2014 04:31:47 +0000 (20:31 -0800)]
vp9_decodeframe.c: remove unused params
Change-Id: Ie83e18802234199491dbb6e90886739814558f96
Yaowu Xu [Sat, 1 Mar 2014 00:35:19 +0000 (16:35 -0800)]
vp9_firstpass.c: remove unused functions & params
Change-Id: I111c5bd0dd47db7b1f6952c18056bee548bb42e9
Yaowu Xu [Sat, 1 Mar 2014 00:23:56 +0000 (16:23 -0800)]
vp9_encodeframe.c: remove unused function params
Change-Id: I6d47618e8aee6e6c2fe1cf0b8bb4da0b2a0bab66
Yaowu Xu [Sat, 1 Mar 2014 00:17:10 +0000 (16:17 -0800)]
Remove dec_build_inter_predictors() parameters
There were two parameters not in use, this commit removed them.
Change-Id: Ia03a73b9a2521400bed539df45574e34214ed93a
Yaowu Xu [Sat, 1 Mar 2014 00:05:24 +0000 (16:05 -0800)]
Remove unused parameters from update_state_rt()
In addition, a local variable was renamed to avoid confusion.
Change-Id: Id4c497f9cfa219e8a414aa9fee9a85af5f147249
Yaowu Xu [Fri, 28 Feb 2014 23:41:53 +0000 (15:41 -0800)]
Remove vp9_create_common()
The function has evolved over time, now only calls vp9_rtcd(), so this
commit removes the function and changes to call vp9_rtcd() directly.
Change-Id: I8cfa6190daa4b28f6f3d1e11bb3a07f9c95322bf
Yaowu Xu [Fri, 28 Feb 2014 23:56:08 +0000 (15:56 -0800)]
Remove a parameter from write_selected_tx_size()
The parameter was never used.
Change-Id: I99fd9aad697917ddbe3d10c71cae344228fafc31
levytamar82 [Mon, 24 Feb 2014 06:58:56 +0000 (23:58 -0700)]
AVX2 SubPixel AVG Variance Optimization
Optimizing 2 functions to process 32 elements in parallel instead of 16:
1. vp9_sub_pixel_avg_variance64x64
2. vp9_sub_pixel_avg_variance32x32
both of those function were calling vp9_sub_pixel_avg_variance16xh_ssse3
instead of calling that function, it calls vp9_sub_pixel_avg_variance32xh_avx2
that is written in avx2 and process 32 elements in parallel.
This Optimization gave 80% function level gain and 2% user level gain
Change-Id: Iea694654e1b7612dc6ed11e2626208c2179502c8
James Zern [Sat, 1 Mar 2014 03:58:44 +0000 (19:58 -0800)]
nestegg: packet_track: fix uint64->uint32 warning
Change-Id: I67b2b0d722424df9938d7c26f9d3478592bc813a
James Zern [Sat, 1 Mar 2014 03:58:33 +0000 (19:58 -0800)]
nestegg: fix track_scale double->uint64 warning
Change-Id: I24c024d1b328b9c34289c125c501d2fdc246e92e
James Zern [Sat, 1 Mar 2014 03:58:19 +0000 (19:58 -0800)]
nestegg: fix track_number uint64->uint32 warnings
ne_read_block/ne_find_cue_position_for_track/nestegg_get_cue_point
in the use of ne_map_track_number_to_index
+ add a check to ensure it doesn't exceed the type bounds
fixes:
./third_party/nestegg/src/nestegg.c|1322| warning C4244: 'function' :
conversion from 'uint64_t' to 'unsigned int', possible loss of data
Change-Id: I3703d739dcf9a2d4d8e2b704e957e5e3fd80dca0
James Zern [Sat, 1 Mar 2014 03:58:00 +0000 (19:58 -0800)]
nestegg: add ne_get_uint32 convenience function
- avoids downcasting from uint64_t in multiple locations
Change-Id: Ia6f669a9ee81336ed1ef29a6a79240d5905acab5
James Zern [Sat, 1 Mar 2014 01:56:01 +0000 (17:56 -0800)]
Merge "normalize perl shebangs"
Yaowu Xu [Sat, 1 Mar 2014 01:34:38 +0000 (17:34 -0800)]
Merge "Fix unused parameters in vp9_extend_frame_borders"
Yaowu Xu [Sat, 1 Mar 2014 01:09:31 +0000 (17:09 -0800)]
Merge "fix vp9 only build"
Dmitry Kovalev [Sat, 1 Mar 2014 00:09:17 +0000 (16:09 -0800)]
Merge "Replacing int_mv with MV."
Dmitry Kovalev [Sat, 1 Mar 2014 00:08:24 +0000 (16:08 -0800)]
Merge "Removing unnecessary casts from quantization code."
Dmitry Kovalev [Sat, 1 Mar 2014 00:07:45 +0000 (16:07 -0800)]
Merge "Using ref_mv[2] instead of two separate variables."
Yaowu Xu [Fri, 28 Feb 2014 23:34:31 +0000 (15:34 -0800)]
Fix unused parameters in vp9_extend_frame_borders
Change-Id: I7255b3bc47d760333f58ac4878becbcc8ad30967
Dmitry Kovalev [Fri, 28 Feb 2014 23:37:51 +0000 (15:37 -0800)]
Merge "Sorting includes in vp9_rdopt.c."
Yaowu Xu [Fri, 28 Feb 2014 23:26:09 +0000 (15:26 -0800)]
fix vp9 only build
Change-Id: I7a1a7190dc32c65846a897a3162a02d63e59719f
Deb Mukherjee [Fri, 28 Feb 2014 22:17:24 +0000 (14:17 -0800)]
Merge "Adds speed 8 to vp9 as reference"
Dmitry Kovalev [Fri, 28 Feb 2014 22:10:51 +0000 (14:10 -0800)]
Using ref_mv[2] instead of two separate variables.
Change-Id: I909a81991aa0cc18afe6526542c7513837445213
Dmitry Kovalev [Fri, 28 Feb 2014 18:57:30 +0000 (10:57 -0800)]
Sorting includes in vp9_rdopt.c.
Change-Id: I7e2591b4b54e0eac8521e128c7d97f62d2057ed8
Dmitry Kovalev [Fri, 28 Feb 2014 21:57:31 +0000 (13:57 -0800)]
Merge "Sorting and eliminating includes in vp9_pickmode.c."
Dmitry Kovalev [Fri, 28 Feb 2014 21:56:43 +0000 (13:56 -0800)]
Moving FRAME_CONTEXT & FRAME_COUNTS to vp9_entropymode.h.
Change-Id: I1fe71e35b1e44da693b43d26607abb33efd56820
Dmitry Kovalev [Fri, 28 Feb 2014 21:18:38 +0000 (13:18 -0800)]
Merge "Fixing include order in vp9_quantize.c"
Jingning Han [Fri, 28 Feb 2014 21:02:58 +0000 (13:02 -0800)]
Merge "Fix potential invalid partition size use"
Deb Mukherjee [Thu, 27 Feb 2014 23:25:46 +0000 (15:25 -0800)]
Adds speed 8 to vp9 as reference
Adds a speed 8 to VP9 where only the nearestmv (0 mv) is searched.
This seems to be about the same speed as vp8 speed 5.
Adds a new speed feature to disable inter modes based on a mask for
each blocksize.
Adds code for having lower complexity motion search methods
in nonrd pick mode function, even though speed 7 still uses DIAMOND
search for now.
Also uses HEX search for speed 6 rather than FAST_HEX which improves
psnr by 0.56% without any noticeable speed drop (tested on gipsmotion).
Change-Id: Ic13176572dbd3aed5884a26786940a4b1bbd8a75
Jingning Han [Fri, 28 Feb 2014 20:14:10 +0000 (12:14 -0800)]
Merge "Skip some mode SAD calculation in non-RD mode"
Dmitry Kovalev [Fri, 28 Feb 2014 20:11:46 +0000 (12:11 -0800)]
Replacing int_mv with MV.
Change-Id: Ib68d4a2de838254a66272324b909292048cbe60d
Dmitry Kovalev [Fri, 28 Feb 2014 19:59:50 +0000 (11:59 -0800)]
Removing unnecessary casts from quantization code.
Change-Id: I64172710654e95a90ee754d14d7104337d28010f
James Zern [Fri, 28 Feb 2014 19:56:14 +0000 (11:56 -0800)]
normalize perl shebangs
don't require perl to be in a fixed location
Change-Id: Icc8b6113a2a3626f847fe46409334a03f1db5c85
Minghai Shang [Fri, 28 Feb 2014 19:50:48 +0000 (11:50 -0800)]
Merge "[svc] Fix "possible loss of data", "division by zero" and "index 5 out of bounds for type" compiler warings"
Dmitry Kovalev [Fri, 28 Feb 2014 19:31:43 +0000 (11:31 -0800)]
Merge "Cleaning up vpx_codec_get_cx_data() function."
Dmitry Kovalev [Fri, 28 Feb 2014 19:30:51 +0000 (11:30 -0800)]
Fixing include order in vp9_quantize.c
Change-Id: Ic32eb103d0d7f98c0a16c4e7bdec117faf05df02
Dmitry Kovalev [Fri, 28 Feb 2014 19:29:39 +0000 (11:29 -0800)]
Merge "Cleaning up vp9_quantize.c."
Dmitry Kovalev [Fri, 28 Feb 2014 19:28:34 +0000 (11:28 -0800)]
Sorting and eliminating includes in vp9_pickmode.c.
Change-Id: Icc057b819d80c608a6003fd7ef58aefed7a15824
Dmitry Kovalev [Fri, 28 Feb 2014 19:15:32 +0000 (11:15 -0800)]
Sorting includes in vp9_firstpass.c.
Change-Id: Iee4f8443971fe2b21762d87f0be5751329768b5a
Dmitry Kovalev [Fri, 28 Feb 2014 19:12:22 +0000 (11:12 -0800)]
Merge "Adding get_y_mode() function."
Dmitry Kovalev [Fri, 28 Feb 2014 19:01:55 +0000 (11:01 -0800)]
Merge "Cleaning up vp9_bitstream.{c, h} files."
Dmitry Kovalev [Fri, 28 Feb 2014 18:51:43 +0000 (10:51 -0800)]
Merge "Adding consts to arguments of vp9_block_error()."
Dmitry Kovalev [Fri, 28 Feb 2014 18:51:21 +0000 (10:51 -0800)]
Merge "Cleaning up encode_ref_frame() to match read_ref_frames()."
Jingning Han [Fri, 28 Feb 2014 17:15:36 +0000 (09:15 -0800)]
Fix potential invalid partition size use
For blocks at frame boundary, the selected block size sometimes needs
to be smaller than that was first given. This commit forces such block
size change only between square blocks, so as to avoid the potential
use case containing 32x16 + 16x8 + 16x8, for 1080p sequences.
Local test suggested no visible coding speed difference. Borg test
reveals no difference in terms of compression performance.
Change-Id: Ie8de87f3c6febc3acf11b4cbfdf2077f9f6def52
Dmitry Kovalev [Fri, 28 Feb 2014 18:49:47 +0000 (10:49 -0800)]
Merge "Moving get_tx_eob() from common to encoder."
Dmitry Kovalev [Fri, 28 Feb 2014 18:49:35 +0000 (10:49 -0800)]
Merge "Removing unnecessary clamp() call."
Dmitry Kovalev [Fri, 28 Feb 2014 18:49:11 +0000 (10:49 -0800)]
Merge "Explicit lossless handling in rd_pick_intra4x4block()."
Dmitry Kovalev [Fri, 28 Feb 2014 18:39:31 +0000 (10:39 -0800)]
Cleaning up vp9_init_dsmotion_compensation().
Change-Id: Id5b56c7bc5671859f54ae69693064804d3fadd98
Dmitry Kovalev [Fri, 28 Feb 2014 18:38:42 +0000 (10:38 -0800)]
Merge "Replacing int_mv with MV and adding const qualifiers."
Minghai Shang [Fri, 28 Feb 2014 18:30:20 +0000 (10:30 -0800)]
[svc] Fix "possible loss of data", "division by zero" and
"index 5 out of bounds for type" compiler warings
Change-Id: I414d39198cb02d1b8e2330002ed5fe062aaea95e
James Zern [Fri, 28 Feb 2014 18:29:22 +0000 (10:29 -0800)]
Merge "rtcd.sh: sort functions by name"
Dmitry Kovalev [Fri, 28 Feb 2014 18:11:31 +0000 (10:11 -0800)]
Cleaning up vp9_quantize.c.
Change-Id: I9a38af32f16f196b83dd69755eafb9543edf5691
hkuang [Fri, 28 Feb 2014 17:48:26 +0000 (09:48 -0800)]
Merge "Fix a bug in neon that has not save and restore q4-q7 registers."
Jingning Han [Fri, 28 Feb 2014 17:35:08 +0000 (09:35 -0800)]
Skip some mode SAD calculation in non-RD mode
This commit checks if the motion vector associated with the current
mode has been computed in previous mode tests. If possible, skip the
redundant reference block generation and SAD calculation in the
non-RD mode decision process.
For test sequence pedestrian_area 1080p, the runtime goes from
24261 ms to 23770 ms. This does not change compression performance.
The speed-up is mostly around places with consistent motion.
Change-Id: I97be63c6a2d07c57be26b3c600fbda3803adddda
Yunqing Wang [Fri, 28 Feb 2014 16:29:02 +0000 (08:29 -0800)]
Merge "Enable using fast HEX search in non-rd pick mode"
James Zern [Fri, 28 Feb 2014 08:23:50 +0000 (00:23 -0800)]
Merge "vpx_scale_rtcd.sh: fix conditional"
James Zern [Fri, 28 Feb 2014 04:32:31 +0000 (20:32 -0800)]
Merge changes I6e7d6fa5,Ie033bbf2,I08fa0e90,I8612f197
* changes:
cosmetics: test.mk: sort source lists
test.mk: fix test availability
sad_test: (arm) fix vp9-only build
cosmetics: sad_test: add a few comments