Yunqing Wang
7c6a49bada
Merge "Rename a loopfilter parameter"
2014-01-31 18:33:33 -08:00
Dmitry Kovalev
f1761a74cd
Merge "Cleaning up vp9_get_second_pass_params() function."
2014-01-31 18:15:33 -08:00
Dmitry Kovalev
3b3f1d8303
Cleaning up vp9_mcomp.{c, h}.
...
Change-Id: Ib71d9ed3f98e9468ad951bdc24c9ab565216eb38
2014-01-31 18:11:41 -08:00
Dmitry Kovalev
c2ca97caaf
Merge "Cleaning up motion compensation code."
2014-01-31 17:33:40 -08:00
Dmitry Kovalev
1ee4916794
Cleaning up vp9_get_second_pass_params() function.
...
Change-Id: Ie7b295190d8def447408e575ea0f3fa3c7eb7dd2
2014-01-31 16:49:33 -08:00
Yaowu Xu
f99eb936a4
Set proper rtc interp_filter at block level
...
Based on frame level settings.
Change-Id: I922c09c195ab055585eaa4f544c51aceb1203a7a
2014-01-31 16:32:19 -08:00
Yunqing Wang
11a9366e3b
Rename a loopfilter parameter
...
As pointed out by Dmitry and James, "partial" is a Microsoft-
specific c++ keyword, and it is renamed.
Change-Id: Ia0fc11ceb89e54b3195287f89f7e26edbbe9beb8
2014-01-31 16:30:04 -08:00
Jim Bankoski
5ccd193219
Merge "bsize problem 360p"
2014-01-31 16:21:13 -08:00
Adrian Grange
908482cb3a
Typo & comment corrections
...
Change-Id: I64569afe61a2679afdd263d3e226a89b9f73cc61
2014-01-31 16:02:48 -08:00
Dmitry Kovalev
88340b173b
Merge "Combining fb_idx_ref_cnt[] and yv12_fb[] arrays."
2014-01-31 15:55:04 -08:00
Dmitry Kovalev
a8a2f22958
Merge "Renaming "mbskip" to "skip"."
2014-01-31 15:52:35 -08:00
Yaowu Xu
d009b06ebf
Merge "Only allow interp_filter change in SWITCHABLE mode"
2014-01-31 15:44:00 -08:00
Jim Bankoski
1833028681
bsize problem 360p
...
Fixes an assert that crashed for 360p..
Change-Id: I2faf15c93cbdb0e62a27a3b663f0d09ba62774a8
2014-01-31 15:14:02 -08:00
Yaowu Xu
538b1c6d52
Only allow interp_filter change in SWITCHABLE mode
...
This commit added a logic to prevent the inter_filter type from being
changed if the default interp_filter mode is not switchable. Also, it
sets the default interp_filter to BILINEAR at very and super fast rtc
encoding modes
Change-Id: Ic41e6d31de29795a4ce536ec79afb01cab6daad3
2014-01-31 15:10:08 -08:00
Yaowu Xu
dc9af3b509
fix IOCs
...
Left shift of negative values caused IOC warnings.
Change-Id: I6f41b020ca0ff51f7861719d41393e9460b75d4e
2014-01-31 15:07:51 -08:00
Yaowu Xu
6a4e2ddabc
Properly merge two different real time modes
...
--rt --cpu-used=-5 uses the progressive rtc mode
--rt --cpu-used=-6 uses the new super fast rtc mode
Change-Id: Id6469ca996100cdf794a0e42d76430161f22f976
2014-01-31 15:07:51 -08:00
Alex Converse
e78c174e54
Cleanup block_rd_txfm.
...
* Avoid unnecessary type erasure
* Prune unused/duplicate fields from struct rdcost_block_args
* Make struct rdcost_block_args a local
Change-Id: I4f1fd4837ccd028bbfe727191ee8d69f0463b7e5
2014-01-31 12:13:18 -08:00
Adrian Grange
42bc14e619
Merge "Add constant to represent minimum KF boost"
2014-01-31 11:10:04 -08:00
Adrian Grange
64e2597465
Disable update of last_show_frame for existing frame
...
When showing a previously decoded frame, i.e. when
show_existing_frame=1, the update of the
last_show_frame flag must be disabled.
This is to ensure that the last_show_frame flag
reflects the state of the flag for the immediately
previously decoded frame rather then the value that
was forced to ensure that a previously decoded frame
would be displayed.
This patch also adds a test vector to verify that the
display_existing_frame flag works as expected. Code
for generating the test vector can be found in this
patch:
https://gerrit.chromium.org/gerrit/#/c/68581/
(Bug originally reported by Alexander Voronov
<ru.xalba@gmail.com>).
Change-Id: I731d288fba02088959f7fcc87707137fffc6acf5
2014-01-31 08:55:01 -08:00
Jim Bankoski
da6b18622f
remove confusing compressor_speed
...
use mode instead
Change-Id: I419d7a2dc4b0714ca6ff723c5e824521c150c460
2014-01-31 07:55:19 -08:00
Adrian Grange
284e793d5a
Add constant to represent minimum KF boost
...
Added a constant to represent the minimum KF boost
rather than using the magic number 2000 in the code.
Change-Id: I9428b61f47d26312caff81c6f9ae8587df004791
2014-01-31 07:52:09 -08:00
Yaowu Xu
6f954c7b5c
Merge "Replace inline with INLINE"
2014-01-30 12:05:09 -08:00
Yaowu Xu
5ebed3e861
Replace inline with INLINE
...
So x86_64-win64-vs11 can build successfully.
Change-Id: If354c2ea3921fac8c9b413ed39223e70bc20c535
2014-01-30 11:48:16 -08:00
Alex Converse
54ba75a5ee
Merge "Enforce the use of profile 1 for non-420 content."
2014-01-30 11:01:53 -08:00
Yaowu Xu
c0856b98cc
Merge "Fixing out of bounds access in frame_refs[] array."
2014-01-30 09:34:18 -08:00
Yaowu Xu
4c0a623124
Fix some automerge artifacts
...
Some changes in 1ca1186
were mistakenly reverted by a later merge,
this commit re-instated the chanages from values to enums.
Change-Id: Ia6b01c31da584a1f612996e6432612c1295b9eaf
2014-01-30 09:01:09 -08:00
Yaowu Xu
6f81942f0e
Fix a build issue for --enable-intern-stats
...
Change-Id: Iea7c9fa0726dbf9792eea79e6a05eb8a3c718d45
2014-01-30 08:20:08 -08:00
Dmitry Kovalev
1bd69ac57f
Fixing out of bounds access in frame_refs[] array.
...
Change-Id: I08f45573e0b2195c09fb6aecacb4c57431a711ea
2014-01-29 22:02:24 -08:00
Yaowu Xu
96dc80da61
Merge "create super fast rtc mode"
2014-01-29 16:36:20 -08:00
Yaowu Xu
08b912b4d1
Merge "Add a strict mode for auto_min_max_partition_size feature"
2014-01-29 16:36:06 -08:00
Yaowu Xu
1ca1186529
Add a strict mode for auto_min_max_partition_size feature
...
In this new mode, the size range is strictly determined by the min
and max partition size in neighborhood blocks.
Niklas720 encoding time at cpu-used -5 goes from 56250ms to 50676ms,
a 10% reduction.
Change-Id: I316b0e2ac967ff3fad57b28d69c0ec80b7d8b34e
2014-01-29 14:51:51 -08:00
Dmitry Kovalev
b107f2c470
Renaming "mbskip" to "skip".
...
Change-Id: I27a30b43eae026a77f92958e2238d02d9cdf7832
2014-01-29 14:48:42 -08:00
Dmitry Kovalev
a8285de7a8
Removing SECTIONBITS_OUTPUT.
...
This code seems to be unmaintaned for a long time (e.g. because of __int64
type usage).
Change-Id: I35fd60d985032fe824f6fd6266910378adcca519
2014-01-29 14:15:34 -08:00
Dmitry Kovalev
afc8f43448
Merge "Moving RATE_CONTROL struct to vp9_ratectrl.h."
2014-01-29 14:02:26 -08:00
Dmitry Kovalev
0ac4e139d4
Merge "Removing ONEPASS_FRAMESTATS struct."
2014-01-29 14:00:25 -08:00
Deb Mukherjee
56200336d1
Merge "Enables alt-ref frames in one pass mode"
2014-01-29 13:37:30 -08:00
Dmitry Kovalev
70cde0af3d
Removing ENC_DEBUG.
...
Change-Id: I101017621003314f000a454725ea13fc9db43177
2014-01-29 12:58:57 -08:00
Dmitry Kovalev
5670f1e2a8
Merge "Finally removing vp9_setup_interp_filters() function."
2014-01-29 12:54:21 -08:00
Dmitry Kovalev
6332063475
Combining fb_idx_ref_cnt[] and yv12_fb[] arrays.
...
Adding new RefCntBuffer struct which contains reference counter and image
buffer.
Change-Id: I71c1f532faa13442c32c43fc03ec45b6f88fb844
2014-01-29 12:48:01 -08:00
Dmitry Kovalev
b00eb5c464
Finally removing vp9_setup_interp_filters() function.
...
Change-Id: If446225afbb49f6033c2a4516a37c377de6f70f7
2014-01-29 11:29:34 -08:00
Dmitry Kovalev
b496d141af
Cleaning up vp9_firstpass.c.
...
Change-Id: Ic2ff6405f01fd43d07c5ee3b5e374909401115cc
2014-01-29 11:26:09 -08:00
Deb Mukherjee
50bf8fd4f5
Enables alt-ref frames in one pass mode
...
Includes a few fixes and clean-ups that adds the ability
to use alt-ref frames in one-pass mode.
Whether alt-refs are actually used or not is controlled by a
macro USE_ALTREF_FOR_ONE_PASS in vp9_firstpass.c.
This first cut seems to improve derf by 15+% in 1-pass mode.
But further experiments with parameters are underway.
Change-Id: I78254421435478003367c788c7930d2dc4ee2816
2014-01-29 11:04:52 -08:00
Jim Bankoski
ea8aaf15b5
create super fast rtc mode
...
This patch only works if the video is a width and height that are both
a multiple of 32.. It sets every partition to 16x16, and does INTRADC
only on the first frame and ZEROMV on every other frame. It always does
does the largest possible transform, and loop filter level is set to 4.
Was ~20% faster than speed -5 of vp8
Now 20% slower but adds motion search ( every block ), nearest, near
and zeromv
The SVC test was changed because - while this realtime mode produces
bad quality albeit quickly, it isn't obeying all the rules it should
about which frames are available.
Change-Id: I235c0b22573957986d41497dfb84568ec1dec8c7
2014-01-29 08:39:39 -08:00
Paul Wilkins
c382136122
Trap divide by 0.
...
Trap divide by 0 that could occur with a 0 rate target
in aq mode COMPLEXITY_AQ.
Change-Id: I034514f512b2a0db470ae8d37ea395278bf473cf
2014-01-29 14:59:04 +00:00
Jim Bankoski
d9201cb109
Merge "Reintroduce modelling for some speeds"
2014-01-28 15:12:03 -08:00
Jim Bankoski
79af185891
Reintroduce modelling for some speeds
...
Change-Id: Ia8fa3961eec34545465018281dc022bc6f73869a
2014-01-28 13:51:06 -08:00
Dmitry Kovalev
45d99257c9
Moving RATE_CONTROL struct to vp9_ratectrl.h.
...
Change-Id: I0c286e3d68a4a4ecf6df02e6fd9990327b0ceb22
2014-01-28 12:57:49 -08:00
Dmitry Kovalev
214d9bb03a
Removing ONEPASS_FRAMESTATS struct.
...
It seems we don't use it and not going to.
Change-Id: Ie76cd04dafc79b0a5911f8957d4253ca2d787f0c
2014-01-28 12:48:19 -08:00
Dmitry Kovalev
b098c04290
Merge "Decoupling set_ref_ptrs() and vp9_setup_interp_filters()."
2014-01-28 10:37:58 -08:00
Dmitry Kovalev
4ce35d8f2d
Merge "Removing _1d suffix from transform names."
2014-01-28 10:37:26 -08:00
Yaowu Xu
1fecc5bd2e
Merge "Added a speed feature"
2014-01-28 10:28:54 -08:00
Dmitry Kovalev
ff41764920
Removing _1d suffix from transform names.
...
It is enough to specify (e.g.) idct16, it is obviously different from
idct16x16.
Change-Id: I6b408a37a945de3162429380b59a775b03b95db0
2014-01-27 16:15:36 -08:00
Dmitry Kovalev
e5b31a1d8c
Decoupling set_ref_ptrs() and vp9_setup_interp_filters().
...
Change-Id: I8d17867a4772554cbba2bd113cc5b4c99d50146d
2014-01-27 16:00:20 -08:00
Dmitry Kovalev
aaa43ed383
Clamping active_{best, worst}_quality values.
...
Change-Id: If370f83080b403e417716d1edad58fdaa2b90170
2014-01-27 12:58:31 -08:00
Dmitry Kovalev
1c96e3985e
Merge "Adding get_bsize() function to vp9_firstpass.c."
2014-01-27 11:46:41 -08:00
Alex Converse
321f0ee272
Enforce the use of profile 1 for non-420 content.
...
Change-Id: I297954b16bce9e23931331520eadfb47540ff660
2014-01-27 11:23:08 -08:00
Dmitry Kovalev
b2f0ae65c7
Merge "Removing subpix_fn_table struct."
2014-01-27 10:42:42 -08:00
Alex Converse
f01855b0c7
Merge "Cache loop filter errors."
2014-01-27 10:25:35 -08:00
Alex Converse
11786b04e2
Merge "Refactor loop filter level search."
2014-01-27 10:25:12 -08:00
Deb Mukherjee
1a8394f7f3
Multiple resize filters
...
Adds multiple filters in the 0.5-1.0 range in the last stage
of the resize functions to prevent over-smoothing/aliasing
Change-Id: I1a615adb16f0df5095790945c94b28b4d6a6fc48
2014-01-25 09:39:48 -08:00
Dmitry Kovalev
b93fcec3b7
Adding get_bsize() function to vp9_firstpass.c.
...
Change-Id: I31373ad860eb554eb3b03e877e8fba580dc3de07
2014-01-24 18:10:02 -08:00
Alex Converse
c0214e7155
Cache loop filter errors.
...
This avoids fitlering a frame multiple times at the same level.
Change-Id: I1fd54dd7ea257d16da8569f48036b8fad3a3ed61
2014-01-24 17:08:25 -08:00
Alex Converse
8c2ae2d5df
Refactor loop filter level search.
...
Factor out the code that tries filtering a frame at a given level.
Change-Id: Ia04507e3ce6b1ad6ae7d05a9d88222fd319f44b7
2014-01-24 17:08:24 -08:00
Dmitry Kovalev
8691565441
Removing subpix_fn_table struct.
...
We don't use different filter kernels for x and y, it is always one kernel
for both directions.
Change-Id: Iefcbb02ec74bf46ea20d9dca672a3efd5d631517
2014-01-24 17:06:26 -08:00
Dmitry Kovalev
f9f936b82f
Merge "Renaming INTERPOLATION_TYPE to INTERP_FILTER."
2014-01-24 16:52:10 -08:00
Yaowu Xu
a0b9b050b8
Added a speed feature
...
That force the stop of subpel search possibly at full/half/quater pel
stages
Change-Id: Ie50c500417bd78e1a53e6620bd4c2b85f63d9c67
2014-01-24 16:40:36 -08:00
Yaowu Xu
7adfa9f4cb
Merge "change to avoid IOC"
2014-01-24 16:05:13 -08:00
Dmitry Kovalev
4264c93844
Renaming INTERPOLATION_TYPE to INTERP_FILTER.
...
Corresponding renames:
subpel_kernel => interp_kernel
vp9_get_filter_kernel() => vp9_get_interp_kernel()
pred_filter_type => pred_interp_filter
adaptive_pred_filter_type => adaptive_pred_interp_filter
mcomp_filter_type => interp_filter
read_interp_filter_type() => read_interp_filter()
write_interp_filter_type() => write_interp_filter()
fix_mcomp_filter_type() => fix_interp_filter()
Change-Id: I1fa61fa1dc81ebbf043457c3ee2d8d4515bee6d3
2014-01-24 15:57:28 -08:00
Dmitry Kovalev
03eb63c114
Merge "Removing MODE_STATS."
2014-01-24 15:53:12 -08:00
Alex Converse
aed0d8c463
Merge "Add some consts to vp9_calc_ss_err()."
2014-01-24 15:41:01 -08:00
Dmitry Kovalev
29c1af295f
Merge "Removing unused inter_mode_counts field from CODING_CONTEXT."
2014-01-24 14:47:59 -08:00
Alex Converse
ea283a6272
Add some consts to vp9_calc_ss_err().
...
Also change its wrongly named dest parameter to reference.
Change-Id: Ide142dead31c9ccda1f09a48b221284369783fb7
2014-01-24 14:26:02 -08:00
Alex Converse
6a457ef794
Merge "Add a method to estimate loop filter level from quantizer and frame type."
2014-01-24 14:10:14 -08:00
Dmitry Kovalev
3a05782c6f
Merge "Inlining IFMVCV macro."
2014-01-24 13:56:16 -08:00
Yaowu Xu
6d2307b2dd
Merge "Fixed integer overflow for large input video"
2014-01-24 13:44:05 -08:00
Dmitry Kovalev
f7ddbeba4a
Removing unused inter_mode_counts field from CODING_CONTEXT.
...
Change-Id: I24ff8ab3d2c807906aa86974bcb4c540256206de
2014-01-24 13:31:57 -08:00
Yaowu Xu
8971338c6b
change to avoid IOC
...
SSE for a 64x64 block with 3 planes can go as high as 3*2^28. So left
shift by 4 may overflow 32 bit int.
Change-Id: I63c84aa56894788bb987299badabbd7cc6fd0be6
2014-01-24 12:49:44 -08:00
Dmitry Kovalev
d79b0706e9
Merge "Cleaning up vp9_ratectl.c file."
2014-01-24 12:29:50 -08:00
Alex Converse
4ce8929b9e
Add a method to estimate loop filter level from quantizer and frame type.
...
Use this method with rt at speed -5.
Change-Id: If3bd6fad4c05ddde72131442dad191e4145047e7
2014-01-24 11:44:10 -08:00
Yaowu Xu
e5034f65e5
Fixed integer overflow for large input video
...
The sum of squared mv components can go beyond int range for large
input resolution. This commit changed the type to int64 to avoid
overflow.
Change-Id: Ib21ea2817845cea1435f893064e6417c79c5bc64
2014-01-24 11:34:41 -08:00
Frank Galligan
c6d537155c
Merge "Revert external frame buffer code."
2014-01-24 11:31:23 -08:00
Dmitry Kovalev
9c0fbd573f
Merge "Setup pre[0] buffer before calls to {first_pass, zz}_motion_search."
2014-01-24 11:15:01 -08:00
Dmitry Kovalev
4bc1877b71
Cleaning up vp9_ratectl.c file.
...
Change-Id: I8cfa5d5eb2c1bbacd9b604cc5dc0a2cd2e5cebb8
2014-01-24 11:14:05 -08:00
Dmitry Kovalev
abf37f1d6c
Inlining IFMVCV macro.
...
Change-Id: I5173f996612e410d9cd495df9414d194b1ab18f3
2014-01-24 11:13:39 -08:00
James Zern
26c88ec14e
Merge changes I826655a7,I5164df72,Iba9b198c,Ide9a6846,I4f51ce85,I0e6aa00f,Ic334da9a,I252f5f8a,I7865db2d,I13b434b1
...
* changes:
test/: remove unnecessary extern "C"s
top-level: add extern "C" to headers
vpx_ports: add extern "C" to headers
vpx: add extern "C" to headers
vp9/encoder: add extern "C" to headers
vp9/decoder: add extern "C" to headers
vp9/common: add extern "C" to headers
vp8/encoder: add extern "C" to headers
vp8/decoder: add extern "C" to headers
vp8/common: add extern "C" to headers
2014-01-24 10:47:00 -08:00
Frank Galligan
b1c72b633e
Revert external frame buffer code.
...
A future CL will add external frame buffers
differently.
Squash commit of four revert commits:
Revert "Increase required number of external frame buffers"
This reverts commit 9e41d569d7
.
Revert "Add external constants."
This reverts commit bbf53047b0
.
Revert "Add frame buffer lru cache."
This reverts commit fbada948fa
.
Conflicts:
vpxdec.c
Change-Id: I76fe42419923a6ea6c75d9997cbbf941d73d3005
Revert "Add support to pass in external frame buffers."
This reverts commit 10f891696b
.
Conflicts:
test/external_frame_buffer_test.cc
vp9/common/vp9_alloccommon.c
vp9/common/vp9_reconinter.c
vp9/decoder/vp9_decodeframe.c
vp9/encoder/vp9_onyx_if.c
vp9/vp9_dx_iface.c
vpx/vpx_decoder.h
vpx/vpx_external_frame_buffer.h
vpx_scale/generic/yv12config.c
vpxdec.c
Change-Id: I7434cf590f1c852b38569980e4247fad0d939c2e
2014-01-24 10:10:20 -08:00
Adrian Grange
8b0537f631
Merge changes I24ad1f0f,I33be1366
...
* changes:
Reorder functions to avoid forward declaration
Rename set_scale_factors as set_ref_ptrs
2014-01-24 08:38:52 -08:00
Dmitry Kovalev
b7944ff1b8
Merge "Cleaning up vp9_firstpass.c file."
2014-01-23 23:09:21 -08:00
Dmitry Kovalev
31bb283d6d
Merge "Removing get_scale_ref_frame_idx() function + cleanup."
2014-01-23 22:37:36 -08:00
Dmitry Kovalev
6c98df29e4
Cleaning up motion compensation code.
...
Change-Id: I74cf028e8c732cd0dbc070326152d3085b824a80
2014-01-23 17:15:30 -08:00
James Zern
b453941caf
vp9/encoder: add extern "C" to headers
...
Change-Id: I4f51ce859a97bf1b8fd2b37ac585b7c643232b69
2014-01-23 16:21:24 -08:00
Dmitry Kovalev
520496ba95
Cleaning up vp9_firstpass.c file.
...
Change-Id: Ic352b0429d5784f9d78872a478fe6275ee7a56a0
2014-01-23 12:36:19 -08:00
Dmitry Kovalev
7450275755
Setup pre[0] buffer before calls to {first_pass, zz}_motion_search.
...
Change-Id: I9b94e741201eacb1982014724a532bdaae31f130
2014-01-23 12:14:57 -08:00
Yaowu Xu
63fb34c9bc
Revert "Removing unnecessary vp9_clear_system_state() calls."
...
This reverts commit 36406fdb07
.
Change-Id: I0bd31d03ce2a562d0624f2cd67593d0d25df4a54
2014-01-23 09:05:08 -08:00
Dmitry Kovalev
5f75fda9e9
Merge "Cleaning up vp9_refining_search_sad() function."
2014-01-22 17:15:22 -08:00
Dmitry Kovalev
e4755db40b
Removing get_scale_ref_frame_idx() function + cleanup.
...
Change-Id: Ic9472f361f8749a165aa464c2fa859681b66381b
2014-01-22 17:10:37 -08:00
James Zern
eb4cb43397
Merge "Enforce effective motion vector search range"
2014-01-22 16:50:30 -08:00
Dmitry Kovalev
af14853802
Merge "Fixing simple_weight() function + cleanup."
2014-01-22 16:28:31 -08:00
Adrian Grange
e54e4b03db
Reorder functions to avoid forward declaration
...
Change-Id: I24ad1f0f1cb0e991c476ea174db8ac1584929b02
2014-01-22 16:20:39 -08:00
Adrian Grange
e37eb0ade7
Rename set_scale_factors as set_ref_ptrs
...
New name better describes what the function does.
Change-Id: I33be1366a81f058a9854b804bcde211061187dc7
2014-01-22 13:04:30 -08:00
Yaowu Xu
ea2d319cfc
changed to use vpx_integer.h for type definition
...
Change-Id: I7739849aa8dd5dcb0755858367fd3223587d107f
2014-01-22 12:52:31 -08:00
Deb Mukherjee
58b9c9fbce
Merge "Adds a non-normative resize library to vp9 encoder"
2014-01-22 11:46:43 -08:00
Yaowu Xu
528bf858fa
Merge "Prevent invaid memory access"
2014-01-22 11:39:24 -08:00
Adrian Grange
a858c5c227
Merge "Tidy up comments & remove commented out code."
2014-01-22 11:14:07 -08:00
hkuang
7f30a6f877
Merge "Seperate the border size for encoder and decoder."
2014-01-22 10:59:31 -08:00
Adrian Grange
82f6af6009
Tidy up comments & remove commented out code.
...
Change-Id: I46dd5ce06f36362c6274511cd1531d93926aa9bc
2014-01-22 09:59:01 -08:00
Yaowu Xu
ebe160568b
Prevent invaid memory access
...
Reading second motion vector only when it has a second ref_frame
Change-Id: Ica72c1cd955832e15ceccda5e5a17b0bfcd83044
2014-01-22 09:10:44 -08:00
Dmitry Kovalev
ed6bb10f0f
Fixing simple_weight() function + cleanup.
...
We used y_width/y_height instead of y_crop_width/y_crop_height.
Change-Id: Ia796494956f16d7a4085e043d58bdfe6de19abe7
2014-01-22 08:57:13 -08:00
Dmitry Kovalev
73b7405a90
Merge "Simplifying target_size_from_buffer_level() function."
2014-01-22 08:54:59 -08:00
Dmitry Kovalev
36406fdb07
Removing unnecessary vp9_clear_system_state() calls.
...
Change-Id: I597645a15fff2d3a1104861a5c90f64394952e0b
2014-01-22 02:39:52 -08:00
Dmitry Kovalev
3cdcb2f567
Simplifying target_size_from_buffer_level() function.
...
Change-Id: I1d556ddf04ab0a98eadf412972a6977c1055446f
2014-01-22 02:24:01 -08:00
Dmitry Kovalev
2b6e0fe010
Merge "Cleaning up first_pass_motion_search() function."
2014-01-22 01:51:08 -08:00
Dmitry Kovalev
6e706ed783
Merge "Cleaning up vp9_ratectrl.c."
2014-01-21 23:12:42 -08:00
Dmitry Kovalev
52bcaf426d
Merge "Cleaning up vp9_setup_buffer_inter() function."
2014-01-21 23:11:39 -08:00
Dmitry Kovalev
209a3ae4f4
Merge "Replacing cpi->twopass with twopass."
2014-01-21 23:01:27 -08:00
Dmitry Kovalev
ef9f7446be
Cleaning up vp9_setup_buffer_inter() function.
...
Change-Id: Ia63e2d05fa5dca3fb67788b0f1f28e9802ef27dd
2014-01-21 19:46:07 -08:00
Yaowu Xu
4e2ae30287
Merge "remove complex rd modeling."
2014-01-21 18:02:50 -08:00
Deb Mukherjee
3cd37dfeb5
Adds a non-normative resize library to vp9 encoder
...
Adds an arbitrary-size resize library for use in scaling of input
frames in a non-normative manner in the vp9 encoder. The method
used is as follows:
Downsampling - Uses a 8 tap filter for factor of 2 decimation upto
a size just higher than the desired size. Then interpolates pixels
at a precision of 1/32 pel using a set of 8-tap filters.
Upsampling - Interpolates pixels at a precision of 1/32 pel using
a set of 8-tap filters.
There is no assembly optimization yet.
Change-Id: Ib5b81e174fc139da322bb97c8214d52289d60d8a
2014-01-21 16:50:00 -08:00
Alex Converse
7a197b2d49
Merge "Have check_initial_width() take subsampling as arguments directly."
2014-01-21 16:31:14 -08:00
Yaowu Xu
000efb5711
Merge "Enforce key frame placement"
2014-01-21 16:04:35 -08:00
hkuang
437004c710
Seperate the border size for encoder and decoder.
...
Encoder's boarder is still 160, while decoder's boarder will be 32.
With on demand and separate boarder buffer for boarder extension.
The decoder's boarder does not need to to 160 anymore.
Change-Id: I93d5aaff15a33a2213e9761eaa37c5f2870747db
2014-01-21 15:28:41 -08:00
Dmitry Kovalev
c2b5a39345
Removing duplicated SAD calculation code.
...
Change-Id: I8d693371a29103769d5bed9d5f9cfe4f58ca3189
2014-01-21 14:24:37 -08:00
Yaowu Xu
dbae98082c
Enforce key frame placement
...
Change-Id: I2f85c6b058638571d68a7209779de8ca8168934f
2014-01-21 14:08:43 -08:00
Jingning Han
20cf22a128
Enforce effective motion vector search range
...
This commit explicitly enforces the effective motion vector range
in the motion search stage. The range needs to be the intersection
of UMV border, effective absolute motion vector value range, and
the target search area.
Change-Id: I1cf7c563e02b1086040dad6c1f4f6be1538635a6
2014-01-21 12:03:18 -08:00
Dmitry Kovalev
575a083bcc
Merge "Replacing macros with inline functions."
2014-01-21 10:17:29 -08:00
Jim Bankoski
3fa1356994
remove complex rd modeling.
...
The affect on quality was minimal. Less than .1%, various sets
yt ( +.15%), derf (-.1%), hd ( -.1% ), std hd(-.15%)...
The affect on speed of encode at speed -5 was substantial ( ~3% ).
Change-Id: I8903346fbae0c35f5b9ea20f81fdd239ae81247d
2014-01-21 09:59:49 -08:00
Yaowu Xu
466f42aa10
Merge "Deprecate best_mv from encoder"
2014-01-21 09:35:52 -08:00
Dmitry Kovalev
6031abeb38
Cleaning up vp9_ratectrl.c.
...
Change-Id: I3a260d3ca68db3a9352ae5409de76e56202976e5
2014-01-17 17:43:04 -08:00
Dmitry Kovalev
a001016996
Removing MODE_STATS.
...
Change-Id: I7520e1cc82b749187c9445356dd7b54f3f3826cc
2014-01-17 17:30:22 -08:00
Jingning Han
b461c0884e
Deprecate best_mv from encoder
...
This commit deprecates the use of best_mv from encoding and bit-stream
writing stages. It hence removes the definition from MACROBLOCKD.
Change-Id: I8e5302775a2aa4a18900726df407bff881f2dfb1
2014-01-17 17:15:34 -08:00
Dmitry Kovalev
2f4e6ee55d
Cleaning up vp9_picklpf.c file.
...
Change-Id: Id54f317846f61a320cc5aeef47248e074376ee5d
2014-01-17 16:09:21 -08:00
Alex Converse
7e157467dc
Merge "Fix output cropping in vp9_get_preview_raw_frame."
2014-01-17 15:49:06 -08:00
Dmitry Kovalev
c5b633975c
Merge "Removing unused vp9_yv12_copy_partial_frame() function."
2014-01-17 15:43:02 -08:00
Dmitry Kovalev
d8bfe9e24c
Cleaning up vp9_refining_search_sad() function.
...
Change-Id: I660b53da8ebf3049832ce8a10721051c4e0ebb00
2014-01-17 15:20:28 -08:00
Alex Converse
9c19953763
Fix output cropping in vp9_get_preview_raw_frame.
...
Handle the non-420 case and set uv_width.
This is needed to get the correct colorspace information out of
vp9e_get_preview().
Change-Id: I62ce118cd7082708d812deb0843c1be87582e0fe
2014-01-17 14:03:42 -08:00
Dmitry Kovalev
50ca3c8324
Merge "Cleaning up vp9_refining_search_8p_c() function."
2014-01-17 12:36:00 -08:00
Jingning Han
d100fb6139
Merge "Rename pick_sb_modes to rd_pick_sb_modes"
2014-01-17 10:58:26 -08:00
Alex Converse
2bfafefb34
Merge "Fix key frames for one pass."
2014-01-17 10:22:59 -08:00
Dmitry Kovalev
ac40c87f68
Removing unused vp9_yv12_copy_partial_frame() function.
...
Change-Id: I3149e562fe9500914f67b6f908283edcdc381ac6
2014-01-16 18:16:34 -08:00
Jingning Han
98b01c038f
Rename pick_sb_modes to rd_pick_sb_modes
...
Keep naming consistency for RD and non-RD mode decision functions,
respectively.
Change-Id: I904282b675fc511a46c13cb1f8287aa5d1c8ac94
2014-01-16 18:05:42 -08:00
Dmitry Kovalev
67246764a2
Replacing macros with inline functions.
...
Change-Id: Ibde8fb45594cd259fc3281d7874de8fc877fd4f2
2014-01-16 18:00:44 -08:00
Dmitry Kovalev
55d0230221
Cleaning up vp9_refining_search_8p_c() function.
...
Change-Id: Icf3b3dd96d7e133a4ad7260cd95288f6217998a6
2014-01-16 16:05:36 -08:00
Jingning Han
013eba8ee8
Merge "Inter-frame non-RD mode decision"
2014-01-16 14:04:51 -08:00
Alex Converse
2b3891d9da
Fix key frames for one pass.
...
Set this_key_frame_forced flag and don't use kf_boost when not set.
Change-Id: Ibe66a82fa9219e60db358ddeb43d6471816c8b50
2014-01-16 13:04:51 -08:00
Jingning Han
2f52decd22
Inter-frame non-RD mode decision
...
This commit setups a test framework for real-time coding. It enables
a light motion search for non-RD mode decision purpose.
Change-Id: I8bec656331539e963c2b685a70e43e0ae32a6e9d
2014-01-16 12:35:04 -08:00
Adrian Grange
6cd6349896
Merge "Fix printf formatting"
2014-01-16 11:02:55 -08:00
Jim Bankoski
a5cb1b1ad5
Merge "don't dummy pack if we won't recode"
2014-01-16 08:21:03 -08:00
Dmitry Kovalev
8f0d213494
Merge "Cleaning up reatectrl.c file."
2014-01-15 16:26:09 -08:00
Dmitry Kovalev
a86a5b17e5
Replacing cpi->twopass with twopass.
...
Change-Id: I733a84ec178439ead66e031395d9a8e49e8f4d1a
2014-01-15 16:21:38 -08:00
Dmitry Kovalev
c37d54a93e
Merge "Replacing cpi->rc with rc."
2014-01-15 16:04:05 -08:00
Jim Bankoski
3977e64fc7
don't dummy pack if we won't recode
...
Avoid packing the bitstream 2 times unless we need to. For me this
at speed -5 was a 2% speed up.
Change-Id: I32205c98f55eedd4ff031ed5fb498c84bdaa855d
2014-01-15 15:30:13 -08:00
Yaowu Xu
293532f314
Merge "Add max burst bitrate control."
2014-01-15 14:40:59 -08:00
Dmitry Kovalev
d39485a776
Merge "calculate_modified_err() cleanup."
2014-01-15 12:56:32 -08:00
Dmitry Kovalev
b7465b3efb
Replacing cpi->rc with rc.
...
Change-Id: I0fbb7615545861e26ebffe72bd44f3a0e8616df7
2014-01-15 12:46:18 -08:00
Dmitry Kovalev
8b5133fc4c
Merge "Removing unused calc_partial_ssl_err() function."
2014-01-15 12:24:06 -08:00
Dmitry Kovalev
efdbd29928
calculate_modified_err() cleanup.
...
Change-Id: Ia24c9b1ff2d51dd9cb133722a041a615e1b8419f
2014-01-15 12:23:16 -08:00
Jim Bankoski
ae5b96d355
Merge "As you go mbmi->skip_coeff"
2014-01-15 12:20:14 -08:00
Dmitry Kovalev
a26899ada5
Merge "Removing intra_mode_stats."
2014-01-15 12:16:50 -08:00
Jim Bankoski
9adcc4d681
Merge "Save ~30% off tokenize_b"
2014-01-15 10:59:49 -08:00
Adrian Grange
7a203301b7
Fix printf formatting
...
Change-Id: I37c5d6f4a0f09d48d3ee31eecdb68dfa11d30bd3
2014-01-15 09:58:01 -08:00
Dmitry Kovalev
69b684279c
Merge "Cleaning up vp9_rdopt.c."
2014-01-15 00:00:33 -08:00
Dmitry Kovalev
0f008fbd2e
Cleaning up first_pass_motion_search() function.
...
Change-Id: I4826a71c7f99db09e5362b16703d024939587f25
2014-01-14 18:07:23 -08:00
Jim Bankoski
73cd22f8d4
As you go mbmi->skip_coeff
...
Calculate the skip_coeff as part of the encode process, rather than
checking the eobs after the fact with another pass.
Change-Id: Ib41b139e96a97dee30e4b993b4cc53d86337128d
2014-01-14 17:58:25 -08:00
Dmitry Kovalev
433e5ea0e8
Fixing invalid block width/height calculation.
...
Change-Id: Ieaeb53902ce0ffd5b1b27a92583e98abfa791433
2014-01-14 17:53:32 -08:00
Dmitry Kovalev
70fe826d26
Cleaning up vp9_rdopt.c.
...
Change-Id: I5200bf68b43578eaadc4ea47b37f2633fa96d7bd
2014-01-14 17:46:14 -08:00
Jim Bankoski
da94b9be81
Save ~30% off tokenize_b
...
Refactoring for speed in the same vein as detokenize_b...
Change-Id: I90779aa46e3b13c22ddce9a42b60e1920ad97142
2014-01-14 15:19:43 -08:00
Dmitry Kovalev
f13b3d1e08
Merge "Making motion search code more compact."
2014-01-14 15:12:43 -08:00
Dmitry Kovalev
382470db42
Merge "Removing unnecessary casts + cleanup."
2014-01-14 14:47:48 -08:00
Dmitry Kovalev
970e945795
Merge changes I8eda5762,Ia2ffca07
...
* changes:
Removing unused switchable_interp_count[] field from VP9_COMP.
Using clamp() function instead of the same raw code.
2014-01-14 14:46:07 -08:00
Dmitry Kovalev
b53113c3ca
Merge "Removing unused error_bins[] field from VP9_COMP."
2014-01-14 14:45:17 -08:00
Dmitry Kovalev
a8bb1ffd89
Merge "Reusing get_frame_new_buffer() function."
2014-01-14 14:40:48 -08:00
Dmitry Kovalev
f3728f20ea
Merge "Cleaning up vp9_encodeframe.c."
2014-01-14 14:14:49 -08:00
Dmitry Kovalev
7da6422d63
Merge "Adding get_vp9_ref_frame_buffer() function."
2014-01-14 14:12:45 -08:00
Dmitry Kovalev
518a934f43
Merge "Converting int_mv to MV."
2014-01-14 14:11:49 -08:00
Deb Mukherjee
fc43938d5e
Merge "Minor fix on an assert"
2014-01-14 13:57:17 -08:00
Deb Mukherjee
1699d6bd53
Minor fix on an assert
...
Fixes assert that fails occasionally on small values of
max-key frame intervals. Also, adds a small change on
updating frames_to_key for frame drops.
Change-Id: Icc2b33b25e3e4ced7e49f8db73e0a887ef9c99e0
2014-01-14 12:51:13 -08:00
Paul Wilkins
5c808ba13a
Add max burst bitrate control.
...
Applies an upper limit on burst bitrate for any
frame. This is to insure that typical encodes for YT
do not produce frames that are so large that they
risk stalling HW implementations. Such frames
could also cause playback problems in SW.
For now the limit is set at 250 bits per MB for 1080P
and larger (with the 1080P limit used for smaller frames).
Setting maxQ, constant quality mode or targeting a
very high bandwidth will have precedence over this limit.
Change-Id: Ie6f776c38b06ac7cec043d034085f4b79ee46a38
2014-01-14 09:52:49 +00:00
Yaowu Xu
4f2a80f05f
Merge "fix a div by zero issue"
2014-01-13 18:04:30 -08:00
Dmitry Kovalev
a8a5774ba9
Removing unused error_bins[] field from VP9_COMP.
...
Change-Id: I883eb9026b44cb354d5b01c0f1d34ecd71f942e4
2014-01-13 16:33:16 -08:00
Dmitry Kovalev
0a74236bd4
Removing unused switchable_interp_count[] field from VP9_COMP.
...
Change-Id: I8eda5762728d981ab7757388741b598c665c26ca
2014-01-13 16:30:40 -08:00
Dmitry Kovalev
46a951c846
Using clamp() function instead of the same raw code.
...
Change-Id: Ia2ffca072f5391b277ce1a0c4e5b4ece9ffc6831
2014-01-13 16:27:50 -08:00
Dmitry Kovalev
80aae67f44
Making motion search code more compact.
...
Change-Id: I04d6a006eaf2676f2d8d1d96b87f69e081969382
2014-01-13 15:24:06 -08:00
Dmitry Kovalev
9855b6e510
Reusing get_frame_new_buffer() function.
...
Change-Id: Iac5c5aeaef62a4095a60d91285d2c7ad717db0fb
2014-01-13 14:04:56 -08:00
Dmitry Kovalev
887984479c
Removing unnecessary casts + cleanup.
...
Change-Id: I7298087426977e36b61ecf493949e9412842254c
2014-01-13 13:04:05 -08:00
Dmitry Kovalev
dd31f2e4ae
Merge "Adding mv_has_subpel() function."
2014-01-13 12:00:51 -08:00
Dmitry Kovalev
b9592fa0b3
Removing intra_mode_stats.
...
Change-Id: I6e0895f7f826b484ac86945e6abe3a706a6b0399
2014-01-13 11:40:33 -08:00
Dmitry Kovalev
62a2c2b15b
Removing unused calc_partial_ssl_err() function.
...
Change-Id: Iad8b0208d3a3b0fc3d7fda3933b0fc007d4d2e9e
2014-01-13 11:26:16 -08:00
Dmitry Kovalev
2033ac49b4
Converting int_mv to MV.
...
Change-Id: Id31c0e100d275bd3650eaf5e4b8fe5ce648dbfaf
2014-01-13 11:21:07 -08:00
Dmitry Kovalev
4ae8ac7be8
Merge "Cleaning up and fixing psnr calculation code."
2014-01-13 10:59:26 -08:00
Dmitry Kovalev
b02c72b5d9
Adding mv_has_subpel() function.
...
Change-Id: I50922bb1a689f8515debaa018f850b231c21189f
2014-01-13 10:57:56 -08:00
Yaowu Xu
31d3f43e18
fix a div by zero issue
...
Change-Id: I091dfaa0ed5b9672eedd46d6097469d0802e24ef
2014-01-13 10:44:32 -08:00
Yaowu Xu
5e5d4c0ea7
Enable reference frame masking for rt mode
...
Reference frame masking helped good quality mode to gain about 5% in
encoding speed, this commit enable it for rt mode to gain the speed
improvement.
In addition, this commit move the speed feature setup to a separate
function.
Change-Id: I015e8f78bbb21dd43ae183b9b9355bea2ccda9c5
2014-01-13 10:06:17 -08:00
Paul Wilkins
a00dad39bd
No arf right before real scene cut.
...
To reduce pulsing we now allow an arf just before forced key frames
and at the end of a clip or section (which may be stitched to
another clip or section). However, this does not make sense for
key frames arising from real scene cuts.
Change from original patch reflects other recent changes in regard
to alignment of gf/arf and kf groups.
Change-Id: I074a91d1207e9b3e28085af982f6718aa599775f
2014-01-13 11:35:02 +00:00
Paul Wilkins
603075fa04
Further rate control tweaks and fixes.
...
Further fixes regarding min and max rate.
Bug fixes re kf group bits and last kf group.
Change-Id: Iaafd719d30a489e135a3c55851ce8c632091a436
2014-01-13 11:34:34 +00:00
Dmitry Kovalev
d2c1e8a5a5
Cleaning up reatectrl.c file.
...
Adding temp variable for &cpi->rc.
Change-Id: Id9a658659354c12e1940532ff85311ce89071b2f
2014-01-10 17:44:33 -08:00
Dmitry Kovalev
ca677a3859
Merge "Cleaning up vp9_rc_postencode_update() function."
2014-01-10 16:53:35 -08:00
Dmitry Kovalev
4def0a8125
Cleaning up and fixing psnr calculation code.
...
Introducing calc_psnr() which calculates psnr between two yv12 buffers.
Previously we incorrectly used width/height instead of
crop_width/crop_height to calculate number of samples -- fixed.
Change-Id: Iecda01980555de55ad347e0276e6641c793fa56c
2014-01-10 16:09:56 -08:00
Jingning Han
29736b889b
Merge "Declare setup_buffer_inter in vp9_rdopt.h"
2014-01-10 16:01:07 -08:00
Jingning Han
4f969ccc1b
Merge "Enable skipping reference frame check in rd loop"
2014-01-10 16:00:56 -08:00
Jim Bankoski
6439aa5a0e
explain speed features
...
Added comments to explain what the various speed features do, and removed
1 that was clearly unused.
Change-Id: Icd37a536072ddafedbfaefcecbe48979f6d10faf
2014-01-10 14:10:34 -08:00
Jingning Han
db2b350d33
Declare setup_buffer_inter in vp9_rdopt.h
...
This funtion initializes buffer pointers and first stage motion vector
prediction. It will be needed by both regular rate-distortion
optimization loop and the non-RD mode decision. Hence move its
declaration in vp9_rdopt.h
Change-Id: I64e8b6316c9d05f20756a62721533a2e4d158235
2014-01-10 13:52:40 -08:00
Dmitry Kovalev
3df5c54ad7
Cleaning up vp9_encodeframe.c.
...
Change-Id: I6d9f595249dc71752abe16c042d3b07aa2e4248d
2014-01-10 13:48:44 -08:00
Dmitry Kovalev
804a155d64
Adding get_vp9_ref_frame_buffer() function.
...
Change-Id: Iae195fcf952dd27ba424f8e95090b8ffc4d5a7c8
2014-01-10 11:59:38 -08:00
Marco Paniconi
21a0c1f38f
Merge "Don't use gf_update by default for 1-pass CBR."
2014-01-10 11:43:20 -08:00
Dmitry Kovalev
447eece329
Cleaning up vp9_rc_postencode_update() function.
...
Change-Id: I02e44c10660fdb9201a802ad19ceb64756feeebe
2014-01-10 10:44:20 -08:00
Marco Paniconi
c46538d45e
Don't use gf_update by default for 1-pass CBR.
...
Change-Id: I5df6abceb0a2a69706feadeb820b593cae88f573
2014-01-10 10:40:12 -08:00
Dmitry Kovalev
ed364b2114
Merge "Adding {get, set}_rate_correction_factor() functions."
2014-01-10 10:30:04 -08:00
Marco Paniconi
a260369aa8
Merge "Keep buffer clipped to maximum in change_config."
2014-01-10 09:33:33 -08:00
Jingning Han
d66c748635
Enable skipping reference frame check in rd loop
...
This commit allows encoder to compare the SAD cost associated with
the best motion vector predictor, per frame. If one reference frame
has this cost more than 4 times of the best SAD cost given by other
reference frames, skip NEARESTMV, NEARMV, ZEROMV mode check of this
reference frame.
This setting is turned on in speed 2 and above. Compression quality
change in speed 2:
derf -0.014%
yt -0.097%
hd -0.023%
stdhd 0.046%
It reduces the speed 2 runtime of test sequences:
pedestrian_area_1080p 4000 kbps 310763 ms -> 303595 ms
bluesky_1080p 6000 kbps 259852 ms -> 251920 ms
Change-Id: I7f59cf79503d51836d61d56d50dc5bdf0e502e22
2014-01-09 18:25:53 -08:00
Deb Mukherjee
36c8daed58
Merge "Cleanups on refresh flags"
2014-01-09 17:38:45 -08:00
Deb Mukherjee
412e4954c1
Cleanups on refresh flags
...
Cleanups on frame refresh flags and external overrides.
Change-Id: Ia6a56fe1bde906b1dc3fcbf4ef1c7b207cd2df2d
2014-01-09 17:00:23 -08:00
Johann
e8192cf633
Merge "Use the correct member for initialization"
2014-01-09 15:21:19 -08:00
Yaowu Xu
b1d81e19d8
Merge "Simplify set_rt_speed_feature()"
2014-01-09 15:02:24 -08:00
Marco Paniconi
193fa5c8ba
Keep buffer clipped to maximum in change_config.
...
Under a configuration change, where the bitrate suddenly decreases,
the buffer level may be larger than maximum allowed (for that first frame to be encoded after change_config).
This change keeps it clipped to its maximum level.
Change-Id: I4d0b5b3d1fd8148600dd39e02bd630c9464baba5
2014-01-09 14:33:40 -08:00
Dmitry Kovalev
c8e8d3a461
Merge "Renaming 'Sharpness' to 'sharpness'."
2014-01-09 13:42:55 -08:00
Yaowu Xu
2d381d76d8
Simplify set_rt_speed_feature()
...
1. Made speed choices to be progressive
2. Adjusted rt speed settings to achieve better speed/quality
Overall, rt-5 gained 2.5% in compression/quality, encoding time of 720p
niklas clip goes from 137,052ms to 121,874ms
Change-Id: Ia6e7e1e15225395a868a2f1059c3db8e266e1600
2014-01-09 13:02:15 -08:00
Dmitry Kovalev
42647fc9fe
Merge "Using VP9_COMMON instead of VP9_COMP."
2014-01-09 11:15:29 -08:00
Paul Wilkins
11569060f4
Merge "Fix rate allocation bug."
2014-01-09 03:00:15 -08:00
Johann
719dadf3ef
Use the correct member for initialization
...
On Windows this fails with:
error C2440: 'initializing': cannot convert from int_mv to uint32_t
Change-Id: I51630efd0e83a0ce620c91aa7859dd6fc1572e99
2014-01-08 19:31:24 -08:00
Dmitry Kovalev
b16fac42d4
Using VP9_COMMON instead of VP9_COMP.
...
Change-Id: If7d3958653104f3e170853e931f8489de3ecf3cc
2014-01-08 18:36:38 -08:00
Dmitry Kovalev
d606bf93ef
Merge "Removing direct references to {lst_fb, gld_fb, alt_fb}_idx fields."
2014-01-08 18:12:09 -08:00
Dmitry Kovalev
feaad4f133
Merge "Cleanups around cpi->common."
2014-01-08 17:48:28 -08:00
Dmitry Kovalev
c01fe86ccc
Adding {get, set}_rate_correction_factor() functions.
...
Change-Id: Ib3212832953a3445fc5f021af0e1de7886f09b4f
2014-01-08 17:40:35 -08:00
Dmitry Kovalev
510a828256
Removing direct references to {lst_fb, gld_fb, alt_fb}_idx fields.
...
Change-Id: Ib1d9628d2b538b6dc27b0db1fa7f40f70ff2072f
2014-01-08 15:21:41 -08:00
Dmitry Kovalev
0ecd583d8d
Cleanups around cpi->common.
...
Change-Id: I0c42a729038d0f4cb7bc07f587d066fcb1dfe9d9
2014-01-08 14:51:00 -08:00
Dmitry Kovalev
962c8b241e
Renaming 'Mode' to 'mode'.
...
Change-Id: I6cdd670d66288dbd66228f38bba6b30502d25362
2014-01-08 14:33:59 -08:00
Dmitry Kovalev
57be81369a
Renaming 'Sharpness' to 'sharpness'.
...
Change-Id: I54513dc3b3321e0c0bb6b15ea5c34085ed80b4a4
2014-01-08 14:19:14 -08:00
Dmitry Kovalev
feab7e1146
Merge "Using struct twopass_rc* instead of VP9_COMP*."
2014-01-08 14:14:05 -08:00
Yunqing Wang
a84029ad9c
Merge "AVX2 Variance Optimization"
2014-01-08 11:33:42 -08:00
Alex Converse
22d83a0ab7
Merge "Replace RD modeling with a fixed point approximation."
2014-01-08 11:06:54 -08:00
levytamar82
357b65369f
AVX2 Variance Optimization
...
Optimizing the variance functions: vp9_variance16x16, vp9_variance32x32,
vp9_variance64x64, vp9_variance32x16, vp9_variance64x32,
vp9_mse16x16 by migrating to AVX2
some of the functions were optimized by processing 32 elements instead of 16.
some of the functions were optimized by processing 2 loop strides of 16
elements in a single 256 bit register
This optimization gives between 2.4% - 2.7% user level performance gain
and 42% function level gain.
Change-Id: I265ae08a2b0196057a224a86450153ef3aebd85d
2014-01-08 12:05:53 -07:00
Alex Converse
f2ca665f1c
Replace RD modeling with a fixed point approximation.
...
Change-Id: I44eb44eb3f36c05d916ef140ef42cc84f72f99ec
2014-01-08 10:37:24 -08:00
Jingning Han
aa9552b0b5
Merge "Fix an issue in motion vector prediction stage"
2014-01-08 10:06:03 -08:00
Deb Mukherjee
0d21d79bbc
Merge "Further rate control cleanups"
2014-01-08 09:20:29 -08:00
Paul Wilkins
d7b49b28e6
Fix rate allocation bug.
...
Fix miss alignment of the frames contributing to the
error score and bit allocation for gf/arf groups.
Initial results slightly +.
Change-Id: Ie508bdcfdac52e592d48e1f13e01b3551b523deb
2014-01-08 15:30:13 +00:00
Deb Mukherjee
730ade414d
Further rate control cleanups
...
Some cleanups on frames_to_key, frames_since_key.
Also removes the unused fixed_q parameters in vp9.
Change-Id: If8743a32c71de30a8d17136477b53d607a7acda8
2014-01-07 13:51:50 -08:00
Jingning Han
06e4f825af
Fix an issue in motion vector prediction stage
...
The previous implementation stops motion vector prediction test when
the zero motion vector appears for the second time. This commit fixes
it by simply skipping the second time check on zero mv and continuing
on to next mv candidate.
It slightly improves stdhd in speed 2 by 0.06% on average. Most static
sequences are not affected. A few hard ones, like jet, ped, and riverbed
were improved by 0.1 - 0.2%.
Change-Id: Ia8d4e2ffb7136669e8ad1fb24ea6e8fdd6b9a3c1
2014-01-07 10:18:04 -08:00
Jingning Han
fdad4fd226
Remove deprecated variable from rt_speed_feature
...
This resolves a merge error.
Change-Id: Ifb83acc0a08e80c82f7624f9c86f79d3a86cc871
2014-01-07 10:15:51 -08:00
Dmitry Kovalev
16f5607dfe
Merge "Adding new_mv local variable."
2014-01-07 09:56:41 -08:00
Dmitry Kovalev
7b496783c2
Merge "Adding get_ref_frame_buffer() function."
2014-01-07 09:56:06 -08:00
Dmitry Kovalev
b3af2f87b0
Merge "Removing unused mvp_fill manipulation code."
2014-01-07 09:54:05 -08:00
Jingning Han
656166ea81
Merge "Remove avoid_frame_with_high_error from RD loop"
2014-01-07 09:31:17 -08:00
Dmitry Kovalev
9e18cf70db
Merge "Reusing ROUND_POWER_OF_TWO macro."
2014-01-07 02:40:02 -08:00
Paul Wilkins
e4e58ac400
Merge "Clean up: unused function and variables"
2014-01-07 02:27:20 -08:00
Dmitry Kovalev
6a7a7341ee
Removing unused mvp_fill manipulation code.
...
The code can be removed because mvp_full will be overridden after that.
Change-Id: I89559b1b6914c86bcd02b7359d37241948ac11d3
2014-01-06 18:07:12 -08:00
Dmitry Kovalev
c015ba5f6e
Adding new_mv local variable.
...
Change-Id: I9631b35810c232c134f39dc0edadb1b3860a45ae
2014-01-06 17:58:01 -08:00
Dmitry Kovalev
ff655420b5
Reusing ROUND_POWER_OF_TWO macro.
...
Change-Id: I064ba32d5358bfbf080a4300fc1793b345080006
2014-01-06 17:38:57 -08:00
Dmitry Kovalev
abe4940d64
Replacing &cpi->common with cm.
...
Change-Id: Ic5bf5682ccdb8d2fbad6bba0d7db19a4f47b62a1
2014-01-06 17:29:16 -08:00
Marco Paniconi
166d8142ac
Merge "Code cleanup: remove unneeded lines."
2014-01-06 16:35:52 -08:00
Yaowu Xu
9aa16eecd0
Merge "Added placeholder for real time mode"
2014-01-06 16:26:57 -08:00