Yaowu Xu [Fri, 21 Feb 2014 05:11:10 +0000 (21:11 -0800)]
Merge "Enable reduced set of intra modes in rtc coding"
Adrian Grange [Fri, 21 Feb 2014 02:29:59 +0000 (18:29 -0800)]
Merge "Added three test vectors with droppable frames"
Jingning Han [Wed, 19 Feb 2014 23:30:09 +0000 (15:30 -0800)]
Enable reduced set of intra modes in rtc coding
This commit enables the use of DC, vertical, and horizontal intra
prediction mode in rtc non-RD mode decision. When the best cost value
of inter modes is above a given threshold, the encoder runs the
above three intra modes and selects the one that has minimum
prediction residual in terms of SAD.
This together with recent changes on non-RD mode decision and coding
control improves compression performance of speed -6 by
derf 91%
yt 61%
hd 46%
stdhd 52%
In terms of encoding speed, it is about 3 times faster than speed -5.
Change-Id: I6b483bfd0307e6482bb22a6676ae4e25a52b1310
Jingning Han [Fri, 21 Feb 2014 02:03:12 +0000 (18:03 -0800)]
Merge "Force alt reference frame off in rtc mode"
Yaowu Xu [Fri, 21 Feb 2014 01:04:08 +0000 (17:04 -0800)]
Added three test vectors with droppable frames
Change-Id: I70240e50927b4379603628f6349bf615f756b5a1
Adrian Grange [Fri, 21 Feb 2014 00:40:02 +0000 (16:40 -0800)]
Merge "Test vectors for odd image width and height."
James Zern [Fri, 21 Feb 2014 00:03:23 +0000 (16:03 -0800)]
Merge "vp9_subpel_variance_impl_intrin_avx2.c: make some tables static"
James Zern [Fri, 21 Feb 2014 00:02:16 +0000 (16:02 -0800)]
Merge "vp9_subpixel_8t_intrin_ssse3.c: make some tables static"
James Zern [Fri, 21 Feb 2014 00:01:50 +0000 (16:01 -0800)]
Merge "vp9_subpixel_8t_intrin_avx2.c: make some tables static"
Jingning Han [Wed, 19 Feb 2014 23:11:12 +0000 (15:11 -0800)]
Force alt reference frame off in rtc mode
When non-RD coding decision is used in rtc mode, the alt reference
is not used for inter frame prediction. This commit disabled alt ref
option whenever speed -6 is used.
Change-Id: I0b33ca03661de1db2d9bef1bcbff848cd4c9396f
Jim Bankoski [Thu, 20 Feb 2014 22:35:40 +0000 (14:35 -0800)]
Test vectors for odd image width and height.
Change-Id: I39286df9fc76e3451f14ce2652d671e11b0c37bc
Jingning Han [Thu, 20 Feb 2014 22:29:41 +0000 (14:29 -0800)]
Merge "Rename vp8_cfg to vp9_cfg in vp9_cx_iface"
Jingning Han [Thu, 20 Feb 2014 22:29:30 +0000 (14:29 -0800)]
Merge "Use MI_BLOCK_SIZE in block coding loop"
Jingning Han [Thu, 20 Feb 2014 22:28:57 +0000 (14:28 -0800)]
Merge "Rework non-RD mode decision coding flow"
Tom Finegan [Thu, 20 Feb 2014 22:03:37 +0000 (14:03 -0800)]
Merge "twopass_encoder.c: Silence MSVC data loss warnings."
Marco Paniconi [Thu, 20 Feb 2014 20:48:50 +0000 (12:48 -0800)]
Merge "vpx_temporal_scalable_patterns: set rc_target_bitrate correct."
Yunqing Wang [Thu, 20 Feb 2014 20:07:10 +0000 (12:07 -0800)]
Merge "Use fast HEX search in real time mode"
Alex Converse [Thu, 20 Feb 2014 20:03:48 +0000 (12:03 -0800)]
Merge "Only track mode_chosen_counts if CONFIG_INTERNAL_STATS."
Tom Finegan [Wed, 19 Feb 2014 02:00:09 +0000 (18:00 -0800)]
vp9_encodeframe.c: Silence rdmult assignment warning with a cast.
Cast result of round() to int.
Change-Id: Ib708fddfadde4c765001ce9723fda113fd0f4bf6
Tom Finegan [Thu, 20 Feb 2014 19:57:36 +0000 (11:57 -0800)]
Merge "vp9_vaq.c: Cast result of round() to int to silence warning caused by clamp() call."
Tom Finegan [Wed, 19 Feb 2014 02:04:13 +0000 (18:04 -0800)]
vp9_encodeframe.c: Silence totalrate assignment warning with a cast.
Cast result of round() to int.
Change-Id: I4982886ad4e7657b4c40d21bd850d31690a68c28
Marco Paniconi [Thu, 20 Feb 2014 18:46:44 +0000 (10:46 -0800)]
vpx_temporal_scalable_patterns: set rc_target_bitrate correct.
Current setting was specific to 1 layer case.
rc_target_bitrate is total bitrate for whole stream,
so set it to ts_target_bitrate for highest/top temporal layer.
Change-Id: I83de73364956fa21c0a7c971c9f390d4840457e6
Marco Paniconi [Thu, 20 Feb 2014 01:13:38 +0000 (17:13 -0800)]
Condition alt-ref entropy context setting on svc.
Avoid special context setting for alt-ref in svc mode.
Change-Id: I5337d0739abe16aab7854bcaa3c8537191c4b60c
Paul Wilkins [Thu, 20 Feb 2014 10:03:49 +0000 (02:03 -0800)]
Merge "vp9_rdopt.c: Use int64_t for dist_sum and rate_sum in model_rd_for_sb()."
James Zern [Thu, 20 Feb 2014 06:58:12 +0000 (22:58 -0800)]
Merge "video_source.h: Minor clean up."
James Zern [Thu, 20 Feb 2014 06:55:40 +0000 (22:55 -0800)]
Merge "vp8_set_maps.c: Silence signed/unsigned mismatch MSVC warnings."
James Zern [Thu, 20 Feb 2014 06:55:19 +0000 (22:55 -0800)]
Merge "vp8cx_set_ref.c: Silence MSVC data loss warning."
James Zern [Thu, 20 Feb 2014 05:00:09 +0000 (21:00 -0800)]
Merge "Fixed compilation on mingw with secure APIs enabled by default."
Alex Converse [Fri, 14 Feb 2014 22:46:29 +0000 (14:46 -0800)]
Only track mode_chosen_counts if CONFIG_INTERNAL_STATS.
Change-Id: Ia9252ad0caa4d2bda529a3fe93efcb31e7eb2da0
Tom Finegan [Thu, 20 Feb 2014 00:20:14 +0000 (16:20 -0800)]
vp8cx_set_ref.c: Silence MSVC data loss warning.
Change-Id: I1210ce23cf8f98950c445a17ef51a73c6852c89f
Tom Finegan [Thu, 20 Feb 2014 00:13:15 +0000 (16:13 -0800)]
vp8_set_maps.c: Silence signed/unsigned mismatch MSVC warnings.
Use unsigned loop counters in set_roi_map() and set_active_map().
Change-Id: I9bbaed38b51ef73b82ba4ad4c4bc18ca5d2399f9
Tom Finegan [Wed, 19 Feb 2014 22:44:35 +0000 (14:44 -0800)]
twopass_encoder.c: Silence MSVC data loss warnings.
Use unsigned int instead of uint64_t for duration and deadline
arguments to functions get_frame_stats() and encode_frame().
Change-Id: I1f26a7afc38ae89916b2c67415ced26fdc9d53e7
Tom Finegan [Wed, 19 Feb 2014 22:17:55 +0000 (14:17 -0800)]
video_source.h: Minor clean up.
- Use size_t for frame_size() (fixes warnings elsewhere)
- Remove unnecessary use of const.
Change-Id: Id2cba182ac3fd2f67d25fd1db3a0bc3e1eda040b
James Zern [Wed, 19 Feb 2014 22:04:34 +0000 (14:04 -0800)]
Merge "decode_with_drops.c: Cast away MSVC data loss warning."
James Zern [Wed, 19 Feb 2014 22:04:20 +0000 (14:04 -0800)]
Merge "simple_decoder.c: Silence MSVC data loss warning."
James Zern [Wed, 19 Feb 2014 22:04:01 +0000 (14:04 -0800)]
Merge "postproc.c: Cast away MSVC data loss warning."
Jingning Han [Wed, 19 Feb 2014 21:46:48 +0000 (13:46 -0800)]
Rename vp8_cfg to vp9_cfg in vp9_cx_iface
This variable takes control parameters for vp9 encoder, hence
renamed vp9_cfg.
Change-Id: I9b253c41a06e44d97fe699f26005cd71e2eeb36c
Dmitry Kovalev [Wed, 19 Feb 2014 21:39:21 +0000 (13:39 -0800)]
Merge "Adding is_mv_valid() function."
Alex Converse [Wed, 19 Feb 2014 20:41:14 +0000 (12:41 -0800)]
Merge "Do not use the value of 'rate_mv' if uninitialized."
Tom Finegan [Wed, 19 Feb 2014 20:38:41 +0000 (12:38 -0800)]
Merge "vpx_temporal_scalable_patterns.c: Silence MSVC warnings."
Tom Finegan [Wed, 19 Feb 2014 20:08:18 +0000 (12:08 -0800)]
simple_decoder.c: Silence MSVC data loss warning.
Change-Id: I138d7f62ac7e905642405e60a49ac3d282695e3f
Tom Finegan [Wed, 19 Feb 2014 19:58:28 +0000 (11:58 -0800)]
postproc.c: Cast away MSVC data loss warning.
Change-Id: Ib80d4f394692a981e369dc5fecd5432cbec488d1
Tom Finegan [Wed, 19 Feb 2014 19:55:06 +0000 (11:55 -0800)]
decode_with_drops.c: Cast away MSVC data loss warning.
Change-Id: Ib8ee2b9a4cb785176ca1054489df5dced004837a
Tom Finegan [Wed, 19 Feb 2014 19:45:58 +0000 (11:45 -0800)]
Merge "error_resilient.c: Cast away MSVC data loss warning."
Tom Finegan [Wed, 19 Feb 2014 19:45:11 +0000 (11:45 -0800)]
Merge "decode_to_md5.c: Silence warning with cast."
Tom Finegan [Wed, 19 Feb 2014 19:43:24 +0000 (11:43 -0800)]
Merge "force_keyframe.c: Cast away MSVC data loss warning."
James Zern [Wed, 19 Feb 2014 19:41:18 +0000 (11:41 -0800)]
Merge "vpx_frame_buffer.h: add doxygen \file block"
Tom Finegan [Wed, 19 Feb 2014 19:39:21 +0000 (11:39 -0800)]
error_resilient.c: Cast away MSVC data loss warning.
Change-Id: I6d81f7d94cb724a9f5a302ca3551196f2d06f9b4
James Zern [Wed, 19 Feb 2014 19:38:47 +0000 (11:38 -0800)]
Merge "vp9: normalize DECLARE_ALIGNED use on global tables"
Tom Finegan [Wed, 19 Feb 2014 19:37:28 +0000 (11:37 -0800)]
force_keyframe.c: Cast away MSVC data loss warning.
Change-Id: Ibf09b76d5b8c8106b804354d9a7f007a0e3f6173
Tom Finegan [Wed, 19 Feb 2014 19:30:08 +0000 (11:30 -0800)]
vpx_temporal_scalable_patterns.c: Silence MSVC warnings.
Change floats to doubles in RateControlMetrics, and make loop
counter signs agree.
Change-Id: I845cf268d9ce837a543d052d8d0f8dfd32bd9817
Jingning Han [Wed, 19 Feb 2014 19:17:12 +0000 (11:17 -0800)]
Use MI_BLOCK_SIZE in block coding loop
Change-Id: Ia70057e11c9b3d9d4bea6fbdd08839334ed02dce
Jingning Han [Tue, 18 Feb 2014 19:23:11 +0000 (11:23 -0800)]
Rework non-RD mode decision coding flow
In the first coding run of a 64x64 block, check the coding mode
for each 8x8 block. Will need a second annealing stage to decide
the partition size to be encoded.
Change-Id: Ida9417805ff3358979b0c0429d4099c023c88866
Tom Finegan [Wed, 19 Feb 2014 18:59:40 +0000 (10:59 -0800)]
decode_to_md5.c: Silence warning with cast.
More size_t/unsigned int disagreement.
Change-Id: I2be01ee680f852f168f6fcac554a534ca3c83e5d
Paul Wilkins [Wed, 19 Feb 2014 13:14:51 +0000 (05:14 -0800)]
Merge "Remove comment from calls to vp9_clear_system_state."
Dmitry Kovalev [Wed, 19 Feb 2014 12:57:18 +0000 (13:57 +0100)]
Adding is_mv_valid() function.
Change-Id: I9d036244b558765b252d8c6681b22721cb2e51bb
Dmitry Kovalev [Mon, 17 Feb 2014 09:49:16 +0000 (10:49 +0100)]
Cleaning up vp9_onyx_if.c.
Change-Id: I389790f1ad0dd40816a7ae1ddad4a5c46278cff3
Dmitry Kovalev [Wed, 19 Feb 2014 09:04:36 +0000 (01:04 -0800)]
Merge "Cleaning up pack_inter_mode_mvs() function."
Dmitry Kovalev [Wed, 19 Feb 2014 09:02:51 +0000 (01:02 -0800)]
Merge "Removing unused tree_update_hist[] array."
Dmitry Kovalev [Wed, 19 Feb 2014 09:02:30 +0000 (01:02 -0800)]
Merge "Cleaning up vp9_encodemb.c."
James Zern [Wed, 19 Feb 2014 04:35:22 +0000 (20:35 -0800)]
vp9: normalize DECLARE_ALIGNED use on global tables
- place extern within the macro
- use in the header only
Change-Id: I4274b345d8af9ef329c0eb9553a3ddaad70d1d26
Tom Finegan [Wed, 19 Feb 2014 02:13:57 +0000 (18:13 -0800)]
vp9_rdopt.c: Use int64_t for dist_sum and rate_sum in model_rd_for_sb().
Removes unnecessary casts and silences warnings.
Change-Id: Ic516a909a2b3748831be6717f02d86ca60190af3
Yaowu Xu [Tue, 18 Feb 2014 03:03:01 +0000 (19:03 -0800)]
Removed unnecessary type cast
Change-Id: I0f2d5155ec042e9b5cbe9a9d6b186b121ed7737f
James Zern [Wed, 19 Feb 2014 04:42:49 +0000 (20:42 -0800)]
vp9_subpel_variance_impl_intrin_avx2.c: make some tables static
+ fix formatting
Change-Id: I7b4ec11b7b46d8926750e0b69f7a606f3ab80895
James Zern [Wed, 19 Feb 2014 04:42:00 +0000 (20:42 -0800)]
vp9_subpixel_8t_intrin_ssse3.c: make some tables static
+ fix formatting
Change-Id: I344d4de089d03e403f0c7b3e64aeb7086cce86ac
James Zern [Wed, 19 Feb 2014 04:38:46 +0000 (20:38 -0800)]
vp9_subpixel_8t_intrin_avx2.c: make some tables static
+ fix formatting
Change-Id: Ia62610bff3d63855104366d7860749b6a3cf4577
James Zern [Wed, 19 Feb 2014 04:15:33 +0000 (20:15 -0800)]
Merge "vp9_filter: move table alignment decl's to header"
James Zern [Wed, 19 Feb 2014 04:10:53 +0000 (20:10 -0800)]
Merge "restore examples to doxygen output"
Marco Paniconi [Wed, 19 Feb 2014 01:31:57 +0000 (17:31 -0800)]
Add comments to portion of SVC interface.
Fixes issue #705.
Change-Id: I60d45ee28fb34f401a440015bfe7bd3837b51de1
Tom Finegan [Wed, 19 Feb 2014 02:26:42 +0000 (18:26 -0800)]
vp9_vaq.c: Cast result of round() to int to silence warning caused by clamp() call.
clamp() wants an int, round returns a double, warning! Too bad we can't just use lrint.
Change-Id: I9c08289dde742fac0d673df8559a1892edcd1bc7
Alex Converse [Tue, 18 Feb 2014 23:56:07 +0000 (15:56 -0800)]
Do not use the value of 'rate_mv' if uninitialized.
This happens when exiting single_motion_search() early due to adaptive_motion_search.
Change-Id: Ic396e7e31e59ff219bb66a459c873c9e5b17400d
Adrian Grange [Thu, 13 Feb 2014 23:49:21 +0000 (15:49 -0800)]
Remove comment from calls to vp9_clear_system_state.
Removed the comment "// __asm emms;" from all calls
to vp9_clear_system_state.
Change-Id: Ib4dae69c1cdf3f185b04184a870cd70c4d703f10
Jingning Han [Tue, 18 Feb 2014 22:52:13 +0000 (14:52 -0800)]
Merge "Enable sub-pixel motion search for rtc mode"
Jingning Han [Tue, 18 Feb 2014 22:51:38 +0000 (14:51 -0800)]
Merge "Initialize internal buffer pointers in rtc mode"
Yunqing Wang [Fri, 14 Feb 2014 23:55:49 +0000 (15:55 -0800)]
Use fast HEX search in real time mode
In good quality mode motion search, the best matches are normally
found after searching in a large area. In real time mode, to make
encoding fast, a center-biased fast HEX search is used, which
converges quickly most of the time. A 4-point diamond search is
also carried out as the following refining search, which gives more
precise results, and maintains good motion search quality.
At speed 5, the borg test on rtc set showed an overall PSNR loss of
0.936%. The encoding speed gain is 4% - 5%.
Change-Id: I42cd68bb56a09ca1b86293c99d5f7312225ca7ae
Yunqing Wang [Tue, 18 Feb 2014 20:55:34 +0000 (12:55 -0800)]
Merge "SSSE3 convolution optimization"
Yunqing Wang [Tue, 18 Feb 2014 20:18:13 +0000 (12:18 -0800)]
Merge "AVX2 SubPixel Variance Optimization"
Jingning Han [Fri, 14 Feb 2014 22:41:47 +0000 (14:41 -0800)]
Enable sub-pixel motion search for rtc mode
Run sub-pixel motion search when NEWMV gives lower rate-distortion
cost. This improves coding performance of derf set by 8%, std-hd by
2.2%.
Change-Id: Ife50f7fda8463927784fe59a41cc439c833e941a
Johann [Tue, 18 Feb 2014 04:53:12 +0000 (20:53 -0800)]
Merge "Replace vqshrun by vqmovun if shift #0 bit"
Yaowu Xu [Mon, 17 Feb 2014 16:37:25 +0000 (08:37 -0800)]
Merge "vp9_onyx_if.c resolve vs warnings"
Adrian Grange [Mon, 17 Feb 2014 15:27:32 +0000 (07:27 -0800)]
Merge "Change post- to pre-increment."
Dmitry Kovalev [Mon, 17 Feb 2014 11:34:02 +0000 (12:34 +0100)]
Cleaning up vp9_encodemb.c.
Change-Id: Ia5b35494e4e18758f9f6c172526db83a87fdaa26
Jim Bankoski [Fri, 14 Feb 2014 15:23:58 +0000 (07:23 -0800)]
vp9_onyx_if.c resolve vs warnings
Change-Id: I02cc50648b62768e20d2f465b5ad09648b1abe93
James Zern [Sat, 15 Feb 2014 18:32:57 +0000 (10:32 -0800)]
Merge "A couple more V.S. warnings silenced."
James Zern [Sat, 15 Feb 2014 18:18:24 +0000 (10:18 -0800)]
vp9_filter: move table alignment decl's to header
avoids mismatched alignment warnings in visual studio builds
Change-Id: I2cedb8042fd47e708bde3f7168a6fb4bd9aaa569
Jim Bankoski [Fri, 14 Feb 2014 15:27:10 +0000 (07:27 -0800)]
vp9_cx_iface vp9_dx_iface vpxdec vs warnings
Change-Id: I747982e7d1157a8b45f4034ddf207306f9f957e0
Tom Finegan [Thu, 13 Feb 2014 20:28:56 +0000 (12:28 -0800)]
vp9/encoder/vp9_onyx_if: Fix compute_qdelta_by_rate() warnings
- Rename and make static
s/vp9_compute_qdelta_by_rate/compute_qdelta_by_rate/
- Make base_q_index an integer.
- Add a cast.
Change-Id: Iea8d1397fd2717e7373b182ec51f5db960ef2cca
James Yu [Mon, 10 Feb 2014 14:08:46 +0000 (22:08 +0800)]
Replace vqshrun by vqmovun if shift #0 bit
Change-Id: Ifabb8c7ec0c327fea9d6739cab10addb060ff435
Signed-off-by: James Yu <james.yu@linaro.org>
Paul Wilkins [Thu, 13 Feb 2014 18:28:04 +0000 (18:28 +0000)]
A couple more V.S. warnings silenced.
Change-Id: Ica1b583d69810182f621de757d2543b2a3b35566
Jacek Caban [Thu, 13 Feb 2014 11:19:30 +0000 (12:19 +0100)]
Fixed compilation on mingw with secure APIs enabled by default.
If MINGW_HAS_SECURE_API is defined, we don't need to declare strtok_s, but we still need strtok_r define.
Change-Id: I7cf781bb58f991a2bdce6a2ccf5082f6924579a3
Johann [Sat, 15 Feb 2014 04:02:51 +0000 (20:02 -0800)]
Merge "Remove redundant arm neon instructions."
James Zern [Sat, 15 Feb 2014 03:38:20 +0000 (19:38 -0800)]
restore examples to doxygen output
these were incorrectly stripped in:
50fa585 Removing examples code generation and making them static.
Change-Id: Idb475ad5b303634311e9f616604312cb925cc6a9
Dmitry Kovalev [Fri, 14 Feb 2014 01:45:59 +0000 (17:45 -0800)]
Removing unused tree_update_hist[] array.
Change-Id: If2e8e06c74d065323523904ff1771590fd48cabc
Adrian Grange [Fri, 14 Feb 2014 17:18:42 +0000 (09:18 -0800)]
Change post- to pre-increment.
Change-Id: I29e4d3a3c8cceb18825371bb78c83c0e7dd86e0f
Adrian Grange [Sat, 15 Feb 2014 00:14:58 +0000 (16:14 -0800)]
Merge "Cleanup some comments."
levytamar82 [Tue, 4 Feb 2014 01:40:33 +0000 (18:40 -0700)]
AVX2 SubPixel Variance Optimization
Optimizing 2 functions to process 32 elements in parallel instead of 16:
1. vp9_sub_pixel_variance64x64
2. vp9_sub_pixel_variance32x32
both of those function were calling vp9_sub_pixel_variance16xh_ssse3
instead of calling that function, it calls vp9_sub_pixel_variance32xh_avx2
that is written in avx2 and process 32 elements in parallel.
This Optimization gave 70% function level gain and 2% user level gain
Change-Id: I4f5cb386b346ff6c878a094e1c3b37e418e50bde
Deb Mukherjee [Fri, 14 Feb 2014 23:53:30 +0000 (15:53 -0800)]
Merge "Make cpi->speed always positive"
Deb Mukherjee [Fri, 14 Feb 2014 23:53:19 +0000 (15:53 -0800)]
Merge "Enforce max-intra-pct in one-pass cbr mode"
Adrian Grange [Thu, 13 Feb 2014 17:40:45 +0000 (09:40 -0800)]
Cleanup some comments.
Change-Id: I568861ba1d43620865ad9a98a97eef37a51fd856
Yaowu Xu [Fri, 14 Feb 2014 22:29:35 +0000 (14:29 -0800)]
Merge "minor spelling cleanup in comments"