Commit Graph

8582 Commits

Author SHA1 Message Date
Jingning Han
836252bfa6 Periodically update mode and mv costs
Skip coefficient cost update in non-RD mode decision setting. Allow
periodical mode and motion vector cost update. Currently every other
8 frames. The increment runtime is a constant number. Hence more
visible for CIF resolution, while negligible for 1080p.

Speed -6 compression performance for rtc set is improved by 4.5%.

Change-Id: I27e0ad7c521fcc2af1d825582cbdd1a27ac4c323
2014-02-21 18:25:43 -08:00
Jingning Han
1fc0bde675 Refactor selected partition size coding for rtc
This commit makes a refactoring of the rtc_use_partition. It allows
the encoder to take a preferred block size for non-RD mode decision.
The boundary blocks are handled such that smaller block sizes that
fit in the boundary size will be used instread.

In rtc mode, the coding performance of speed -6 for pedestrian_1080p
goes from
158980 b/f, 38.934 dB, 22721 ms to
159008 b/f, 40.064 dB, 23721 ms.

For rtc set, the speed -6 compression performance is improved by
26%. Still about 2dB behind speed -5 at this point.

Change-Id: If0944f0880eaf1ad340bc325d97cea8d0f9dd53f
2014-02-21 14:49:57 -08:00
Jingning Han
d66a63f02b 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
2014-02-20 18:03:23 -08:00
Jingning Han
a134527bdc Merge "Force alt reference frame off in rtc mode" 2014-02-20 18:03:12 -08:00
Adrian Grange
6d6d9b294e Merge "Test vectors for odd image width and height." 2014-02-20 16:40:02 -08:00
James Zern
e36cfc91a4 Merge "vp9_subpel_variance_impl_intrin_avx2.c: make some tables static" 2014-02-20 16:03:23 -08:00
James Zern
e2f614be53 Merge "vp9_subpixel_8t_intrin_ssse3.c: make some tables static" 2014-02-20 16:02:16 -08:00
James Zern
3240db7407 Merge "vp9_subpixel_8t_intrin_avx2.c: make some tables static" 2014-02-20 16:01:50 -08:00
Jingning Han
abf5b8d5eb 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
2014-02-20 15:27:16 -08:00
Jim Bankoski
12c4458db9 Test vectors for odd image width and height.
Change-Id: I39286df9fc76e3451f14ce2652d671e11b0c37bc
2014-02-20 14:35:40 -08:00
Jingning Han
be4cf6bcdc Merge "Rename vp8_cfg to vp9_cfg in vp9_cx_iface" 2014-02-20 14:29:41 -08:00
Jingning Han
65bcabbe8c Merge "Use MI_BLOCK_SIZE in block coding loop" 2014-02-20 14:29:30 -08:00
Jingning Han
2aac18a4a6 Merge "Rework non-RD mode decision coding flow" 2014-02-20 14:28:57 -08:00
Tom Finegan
18e3415a55 Merge "twopass_encoder.c: Silence MSVC data loss warnings." 2014-02-20 14:03:37 -08:00
Marco Paniconi
cd510ea828 Merge "vpx_temporal_scalable_patterns: set rc_target_bitrate correct." 2014-02-20 12:48:50 -08:00
Yunqing Wang
cde6b50cb1 Merge "Use fast HEX search in real time mode" 2014-02-20 12:07:10 -08:00
Alex Converse
1d34991139 Merge "Only track mode_chosen_counts if CONFIG_INTERNAL_STATS." 2014-02-20 12:03:48 -08:00
Tom Finegan
595985334e vp9_encodeframe.c: Silence rdmult assignment warning with a cast.
Cast result of round() to int.

Change-Id: Ib708fddfadde4c765001ce9723fda113fd0f4bf6
2014-02-20 12:01:47 -08:00
Tom Finegan
6224516235 Merge "vp9_vaq.c: Cast result of round() to int to silence warning caused by clamp() call." 2014-02-20 11:57:36 -08:00
Tom Finegan
15e95086e2 vp9_encodeframe.c: Silence totalrate assignment warning with a cast.
Cast result of round() to int.

Change-Id: I4982886ad4e7657b4c40d21bd850d31690a68c28
2014-02-20 11:53:11 -08:00
Marco Paniconi
8f69ce2a47 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
2014-02-20 11:45:15 -08:00
Marco Paniconi
fd402e1374 Condition alt-ref entropy context setting on svc.
Avoid special context setting for alt-ref in svc mode.

Change-Id: I5337d0739abe16aab7854bcaa3c8537191c4b60c
2014-02-20 09:55:29 -08:00
Paul Wilkins
bb61327b98 Merge "vp9_rdopt.c: Use int64_t for dist_sum and rate_sum in model_rd_for_sb()." 2014-02-20 02:03:49 -08:00
James Zern
f6ab614b75 Merge "video_source.h: Minor clean up." 2014-02-19 22:58:12 -08:00
James Zern
3fa7c9eaaf Merge "vp8_set_maps.c: Silence signed/unsigned mismatch MSVC warnings." 2014-02-19 22:55:40 -08:00
James Zern
e55e02a724 Merge "vp8cx_set_ref.c: Silence MSVC data loss warning." 2014-02-19 22:55:19 -08:00
James Zern
fdb2337b01 Merge "Fixed compilation on mingw with secure APIs enabled by default." 2014-02-19 21:00:09 -08:00
Alex Converse
657519192e Only track mode_chosen_counts if CONFIG_INTERNAL_STATS.
Change-Id: Ia9252ad0caa4d2bda529a3fe93efcb31e7eb2da0
2014-02-19 18:52:04 -08:00
Tom Finegan
34d02b060d vp8cx_set_ref.c: Silence MSVC data loss warning.
Change-Id: I1210ce23cf8f98950c445a17ef51a73c6852c89f
2014-02-19 16:20:14 -08:00
Tom Finegan
560119c4bc 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
2014-02-19 16:13:15 -08:00
Tom Finegan
3118aba32c 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
2014-02-19 14:44:35 -08:00
Tom Finegan
eb2325ee9f video_source.h: Minor clean up.
- Use size_t for frame_size() (fixes warnings elsewhere)
- Remove unnecessary use of const.

Change-Id: Id2cba182ac3fd2f67d25fd1db3a0bc3e1eda040b
2014-02-19 14:17:55 -08:00
James Zern
33bb443550 Merge "decode_with_drops.c: Cast away MSVC data loss warning." 2014-02-19 14:04:34 -08:00
James Zern
68d49038c8 Merge "simple_decoder.c: Silence MSVC data loss warning." 2014-02-19 14:04:20 -08:00
James Zern
8491e3c882 Merge "postproc.c: Cast away MSVC data loss warning." 2014-02-19 14:04:01 -08:00
Jingning Han
aa7c495472 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
2014-02-19 13:46:48 -08:00
Dmitry Kovalev
3ba5df4911 Merge "Adding is_mv_valid() function." 2014-02-19 13:39:21 -08:00
Alex Converse
43b7959dbc Merge "Do not use the value of 'rate_mv' if uninitialized." 2014-02-19 12:41:14 -08:00
Tom Finegan
1ea12f5b5f Merge "vpx_temporal_scalable_patterns.c: Silence MSVC warnings." 2014-02-19 12:38:41 -08:00
Tom Finegan
ebf4550990 simple_decoder.c: Silence MSVC data loss warning.
Change-Id: I138d7f62ac7e905642405e60a49ac3d282695e3f
2014-02-19 12:08:18 -08:00
Tom Finegan
a3c521e143 postproc.c: Cast away MSVC data loss warning.
Change-Id: Ib80d4f394692a981e369dc5fecd5432cbec488d1
2014-02-19 11:58:28 -08:00
Tom Finegan
6811dbc4c8 decode_with_drops.c: Cast away MSVC data loss warning.
Change-Id: Ib8ee2b9a4cb785176ca1054489df5dced004837a
2014-02-19 11:55:06 -08:00
Tom Finegan
14e3d317cd Merge "error_resilient.c: Cast away MSVC data loss warning." 2014-02-19 11:45:58 -08:00
Tom Finegan
a63a8e1037 Merge "decode_to_md5.c: Silence warning with cast." 2014-02-19 11:45:11 -08:00
Tom Finegan
e2a02551e3 Merge "force_keyframe.c: Cast away MSVC data loss warning." 2014-02-19 11:43:24 -08:00
James Zern
c467095450 Merge "vpx_frame_buffer.h: add doxygen \file block" 2014-02-19 11:41:18 -08:00
Tom Finegan
fb8a2cfd29 error_resilient.c: Cast away MSVC data loss warning.
Change-Id: I6d81f7d94cb724a9f5a302ca3551196f2d06f9b4
2014-02-19 11:39:21 -08:00
James Zern
10f2db2b1f Merge "vp9: normalize DECLARE_ALIGNED use on global tables" 2014-02-19 11:38:47 -08:00
Tom Finegan
3d2f832cf7 force_keyframe.c: Cast away MSVC data loss warning.
Change-Id: Ibf09b76d5b8c8106b804354d9a7f007a0e3f6173
2014-02-19 11:37:28 -08:00
Tom Finegan
7e1d0e38ee vpx_temporal_scalable_patterns.c: Silence MSVC warnings.
Change floats to doubles in RateControlMetrics, and make loop
counter signs agree.

Change-Id: I845cf268d9ce837a543d052d8d0f8dfd32bd9817
2014-02-19 11:30:08 -08:00