Commit Graph

9772 Commits

Author SHA1 Message Date
Dmitry Kovalev
68027a0b8a Merge "Grouping members in MB_MODE_INFO struct." 2014-04-02 11:00:58 -07:00
Dmitry Kovalev
09e4be88f9 Merge "Adding return value to set_offsets() function." 2014-04-02 11:00:32 -07:00
Dmitry Kovalev
3ae5804f7f Merge "Clearing all encoder counts with single vp9_zero() call." 2014-04-02 10:59:13 -07:00
Dmitry Kovalev
67304d10ad Merge "Adding local pointer variables referencing REATE_CONTROL struct." 2014-04-02 10:58:49 -07:00
Marco Paniconi
eb0ab20700 Merge "Remove the q division by 3 for first frame." 2014-04-02 10:21:52 -07:00
Jingning Han
d8b8d87eb7 Make frame level quantization change a parameter
Parameterize the frame level quantization index used in non-RD
coding flow with cbr.

Change-Id: I79cfbd9c32c0d0fc33ad720d2180432e910baf7a
2014-04-02 09:51:22 -07:00
Jingning Han
751d002f2f Adjust rate allocation in non-RD coding mode
This commit reduces the frequency of frames using finer quantizer
in non-RD coding flow, and slightly tune up the quantizer resolution
when used. It provides 1.7% compression gains in speed -5 at no speed
difference.

Change-Id: I430249a51260a841a0402666e5ec1566e4f7d5a6
2014-04-02 09:51:22 -07:00
Paul Wilkins
80577dff4b Revert "Changing webmenc to use libwebm"
Temporary revert.
Problems with conflicting definitions of type off_t
in MSVC builds that need resolving.

c:\Program Files (x86)\
  Microsoft Visual Studio 9.0\VC\include\wchar.h(479) :
  "error C2371: 'off_t' : redefinition; different basic types
c:\on2experimental\libvpx\tools_common.h(26) :
   see declaration of 'off_t'"

This reverts commit 92a4c59112.

Change-Id: I535e40a18842a92e3e6e0b29e5fba66313010803
2014-04-02 13:29:25 +01:00
Paul Wilkins
769cd78ff2 Add speed feature for recode tolerance.
The new tolerance is a little higher than before (especially
for kf/gf/arf) so this change gives an encode speed up
for some clips up for speeds 0-2.

Change-Id: I63f7d6c9cc11c7f58742f41e250dcd3eab1741eb
2014-04-02 12:18:05 +01:00
Paul Wilkins
88690475ea Merge "Speed setting correction to max q estimate." 2014-04-02 04:08:18 -07:00
Dmitry Kovalev
21b8fc4ce4 Adding local pointer variables referencing REATE_CONTROL struct.
Change-Id: I1d8c312a599db505a023e5cd0cc4ba2b8f696a2e
2014-04-01 20:11:41 -07:00
Dmitry Kovalev
4f8a440083 Clearing all encoder counts with single vp9_zero() call.
Change-Id: I4341d16ef83acd1cc9e55f7c5eff4af921bf57d4
2014-04-01 20:09:35 -07:00
Dmitry Kovalev
5f8dd6c9ec Adding return value to set_offsets() function.
Change-Id: I88e018442c527cf21eac791f0768e805dda244f1
2014-04-01 20:06:47 -07:00
Marco Paniconi
939f0e7444 Remove the q division by 3 for first frame.
This code/setting was actually not used (since speed features were not set on first frame,
until a recent change) and should be removed.

In CBR mode, the q value for the first frame can be controlled by setting
the target size via the parameters rc_buf_initial_sz (and max_intra_size_pct).

Change-Id: I65afc64972b36c449bd5a8c25800e65da5389066
2014-04-01 18:42:05 -07:00
Dmitry Kovalev
86f44a91f4 Renaming two members in MACROBLOCKD struct.
Renames:
  mi_8x8 -> mi
  mode_info_stride -> mi_stride

Change-Id: I66f3e5fd1e7b7f46f108af5bb711c5fd9493c1be
2014-04-01 17:46:40 -07:00
Dmitry Kovalev
5f3773d0f7 Replacing magic constants with expressions.
Change-Id: I434682bbd4cb2089cd213d77ed5a5e06256dc45d
2014-04-01 17:42:14 -07:00
Dmitry Kovalev
7c7fc719c9 Merge "Moving encoder quantization parameters into separate struct." 2014-04-01 17:15:11 -07:00
Dmitry Kovalev
79b168f388 Cleaning up vp9_cx_iface.c file.
Change-Id: I4de07d3ef81ebba759a983207d9ca768a65220a6
2014-04-01 17:14:55 -07:00
Dmitry Kovalev
06159fcd18 Merge "Common configuration for MACROBLOCKD struct." 2014-04-01 15:54:34 -07:00
Yunqing Wang
2b99fcbc58 Merge "Make last frame source available in current frame encoding" 2014-04-01 15:54:13 -07:00
Yunqing Wang
4a9928e5eb Make last frame source available in current frame encoding
While encoding a frame, its last frame source can be used to give
acurate motion information. This patch prevents last frame to be
overwritten so that it is available during current frame encoding.

The last source is scaled when it is necessary. cpi->Last_Source
points to the last source frame.

Change-Id: I0e1ef5e9e1d2badf9d0c7a1a44a7ed5b24c09425
2014-04-01 15:01:38 -07:00
Vignesh Venkatasubramanian
c3934addce Merge "Changing webmenc to use libwebm" 2014-04-01 14:23:35 -07:00
Alex Converse
d0a2988dbd Merge "Propagate active map state." 2014-04-01 13:49:26 -07:00
Dmitry Kovalev
d42976c515 Common configuration for MACROBLOCKD struct.
Change-Id: Ie2ea9dd8bd338cc9fe12ca9033df64f7644c68b3
2014-04-01 10:57:59 -07:00
Jingning Han
a860f0f6d5 Merge "Apply finer quantizer to partition search frames in non-RD flow" 2014-04-01 10:15:00 -07:00
Paul Wilkins
992c41d2fd Speed setting correction to max q estimate.
Use a crude correction factor to correct for
lower compression efficiency at higher encode
speeds when estimating the max Q for the
clip.

Change-Id: I5ae377647f4adf5e91d700a8791fb3b8f70efc73
2014-04-01 17:03:04 +01:00
Alex Converse
12dd53d06a Propagate active map state.
This fixes active map for non-rd realtime speeds.

Change-Id: I1bf416de3f7ef2e5dd2eabde052cce3c0683a52c
2014-03-31 16:55:39 -07:00
Joshua Litt
e1574b94e6 Small script to scrape json for waterfall
Change-Id: I879fcd3203c84fa83125e06662009d308bc2dbb6
2014-03-31 10:58:55 -07:00
Jingning Han
99893f2410 Apply finer quantizer to partition search frames in non-RD flow
This commit optimizes the bit allocation for the non-RD coding flow.
It applies slightly better quantizer to the frames, where all blocks
run a non-RD partition search. Such frames typically have better
rate-distortion trade off, thus improving the reconstruction quality
for next few frames reference at reasonably low increment in rate
cost.

The coding performance for rtc set at speed -5 with error-resilient
tuned on and rate control set as cbr is improved by 19.58%. It improved
the coding speed by about 10% for a portion of local test clips.

Change-Id: I9d56696cd4359dc8136ca10aff10fff05aaa2686
2014-03-31 09:33:11 -07:00
Yaowu Xu
6618b73b5e Merge "[BITSTREAM]Fix the scaling calculation" 2014-03-31 07:08:40 -07:00
Yaowu Xu
8a099deb60 Merge "Adjust rt speed steps." 2014-03-31 07:08:31 -07:00
Dmitry Kovalev
20d868f05d Grouping members in MB_MODE_INFO struct.
Change-Id: Ia6d7e7a08810e0c3401da4d10266828d560e6851
2014-03-28 17:44:13 -07:00
James Zern
1bc32afd3c Merge "[svc] Fix SvcTest.SecondPassEncode failure" 2014-03-28 17:09:31 -07:00
Dmitry Kovalev
7bcfa31750 Moving encoder quantization parameters into separate struct.
Change-Id: I2a169535489aeda3943fb5a46ab53e7a12abaa36
2014-03-28 16:46:41 -07:00
Yaowu Xu
4f857bacd2 [BITSTREAM]Fix the scaling calculation
For very large size video image, the scaling calculation may need use
value beyond the range of int. This commit upgrade the value to 64bit
to make sure the calculation do not wrap around INT_MAX.

The change corrected the decoder behavior.

The bug affects only very large resolution video because the scaling
calculation was sufficient for image size smaller than 2^13.

This resolves issue:
https://code.google.com/p/webm/issues/detail?id=750

Change-Id: I2d2ed303ca6482f31f819f3c07d6d3e98ef3adc5
2014-03-28 16:40:29 -07:00
Yaowu Xu
6fc20a8434 Adjust rt speed steps.
This commit adjusted the speed steps in rt mode to make the steps
more evenly spaced on speed and quality, specifically:
1. Merged 3 and 4 into one single step 3 and removed confilicting
features.
2. Move 8, 7, 6, 5 to be 7, 6, 5, 4 repsectively.

Change-Id: I38d56d61531f3561d772aef953c411c8fb38c063
2014-03-28 16:40:28 -07:00
Minghai Shang
ab961ad01b Merge "[svc] Finalize first version of 2nd pass rc" 2014-03-28 15:58:23 -07:00
Minghai Shang
074bbfa555 Merge "[svc] Initialization of 2nd pass rc for svc two pass rc" 2014-03-28 14:34:38 -07:00
Minghai Shang
86394d2636 [svc] Fix SvcTest.SecondPassEncode failure
Root cause is the different default register length between x86
and x64 platform. Change spatial_layer_id to long long.

Change-Id: If1a5972365c7a59f7e76cb4fd714610f3d48a8ff
2014-03-28 13:59:08 -07:00
Minghai Shang
9ee6087f34 [svc] Finalize first version of 2nd pass rc
Change-Id: I366850015004644c4fc7feabe27a782fdd8d8718
2014-03-28 13:38:02 -07:00
Dmitry Kovalev
9e46dcd2fc Merge "Moving dqcoeff array to MACROBLOCKD in decoder." 2014-03-28 13:32:37 -07:00
Dmitry Kovalev
03349d2ba2 Moving dqcoeff array to MACROBLOCKD in decoder.
Change-Id: I3e20c0cdb9d2437bddf21afb255855f2dead8e02
2014-03-28 10:36:16 -07:00
Dmitry Kovalev
0a6d5547e2 Adding vp9_speed_features.{h, c}.
Change-Id: I7d9874da8ff78a2d7e0cf11073af9c30538bc9a6
2014-03-28 10:30:28 -07:00
Minghai Shang
2b58730aec Merge "[svc] Fix issue for setting layers through ffmpeg" 2014-03-28 08:58:45 -07:00
Vignesh Venkatasubramanian
92a4c59112 Changing webmenc to use libwebm
Changing webmenc to use libwebm for WebM file muxing.

Change-Id: I42eb688953865003214c05bdf2076ee00db28970
2014-03-28 07:39:05 -07:00
Paul Wilkins
77e4f85cf1 Merge "Further speed trade off adjustments." 2014-03-28 06:10:21 -07:00
Paul Wilkins
800b5718e8 Merge "Experimental change to speed 1 settings." 2014-03-28 06:10:07 -07:00
Alex Converse
41928eeddd Merge "Automatically count test vectors and make the tables const." 2014-03-28 00:28:08 -07:00
Marco Paniconi
4df4b52662 Merge "vpx_temporal_pattern_encoder: add speed setting to command line." 2014-03-27 20:54:28 -07:00
Alex Converse
7efe8876ba Merge "Remove a duplicate block_size variable." 2014-03-27 19:12:35 -07:00