James Zern [Wed, 8 Jul 2015 01:27:11 +0000 (01:27 +0000)]
Merge "vp9_entropymv: remove vp9_get_mv_mag()"
Frank Galligan [Wed, 8 Jul 2015 00:16:02 +0000 (00:16 +0000)]
Merge "Add vp9_int_pro_row_neon."
Johann [Tue, 7 Jul 2015 23:57:17 +0000 (23:57 +0000)]
Merge "Move sub pixel variance to vpx_dsp"
Jingning Han [Tue, 7 Jul 2015 23:09:39 +0000 (23:09 +0000)]
Merge "Rework scan order fetch logic for decoder"
Johann [Fri, 5 Jun 2015 16:54:19 +0000 (09:54 -0700)]
Move sub pixel variance to vpx_dsp
Change-Id: I66bf6720c396c89aa2d1fd26d5d52bf5d5e3dff1
Marco [Tue, 7 Jul 2015 22:47:43 +0000 (22:47 +0000)]
Merge "Update to speed 5 non-rd mode partition search."
Jingning Han [Tue, 7 Jul 2015 22:35:44 +0000 (22:35 +0000)]
Merge "Add vp9_ prefix to init_macroblockd"
Jingning Han [Tue, 7 Jul 2015 22:35:26 +0000 (22:35 +0000)]
Merge "Reduce dqcoeff array size in decoder"
Jingning Han [Tue, 7 Jul 2015 20:52:56 +0000 (13:52 -0700)]
Rework scan order fetch logic for decoder
Save redundant call for getting prediction mode to obtain scan
order for detokenization.
Change-Id: I0683ef119f1579d1261ed5d59052a1745b68ef6f
Marco [Tue, 7 Jul 2015 21:34:08 +0000 (21:34 +0000)]
Merge "Update to vpx_temporal_svc_encoder:"
Jingning Han [Tue, 7 Jul 2015 20:42:18 +0000 (20:42 +0000)]
Merge "Unify subtract function used in VP8/9"
Yaowu Xu [Tue, 7 Jul 2015 19:28:56 +0000 (19:28 +0000)]
Merge "Allows using optimzed version vp9_fdct8x8"
Johann [Tue, 7 Jul 2015 19:14:32 +0000 (19:14 +0000)]
Merge "Remove comment about disabled tests"
Jingning Han [Tue, 7 Jul 2015 19:00:01 +0000 (12:00 -0700)]
Add vp9_ prefix to init_macroblockd
Change-Id: I202d4924e627eec94838741df004ed9259d38b88
Marco [Tue, 7 Jul 2015 18:43:15 +0000 (11:43 -0700)]
Update to speed 5 non-rd mode partition search.
If the pre-selected partition size (from variance partition) is
32x32, also apply nonrd partition search for 32x32 and 16x16 size.
Overall small positive gain in metrics, average ~1%.
Some visual improvement, for lower resolutions.
Change-Id: I69cb425bda94f7d13d34c451ab30e9276335a30e
Jingning Han [Tue, 7 Jul 2015 18:36:05 +0000 (11:36 -0700)]
Reduce dqcoeff array size in decoder
The decoding process handles detokenization and reconstruction per
transform block sequentially. There is no need to offset the dqcoeff
buffer according to the transform block index. This allows to
reduce the memory spill and improve cache performance.
Change-Id: Ibb8bfe532a7a08fcabaf6d42cbec1e986901d32d
Parag Salasakar [Tue, 7 Jul 2015 18:14:18 +0000 (18:14 +0000)]
Merge "mips msa vp8 idct optimization"
Marco [Tue, 7 Jul 2015 18:07:10 +0000 (11:07 -0700)]
Update to vpx_temporal_svc_encoder:
Add set_tune_content control setting.
Change-Id: I8f7af8e8e9bc35a2d1546c5a0b2dd14be3cce750
Yaowu Xu [Tue, 7 Jul 2015 17:28:42 +0000 (10:28 -0700)]
Allows using optimzed version vp9_fdct8x8
Change-Id: I59cecb7178a93cdee7ad535fa996ef0caa6e988c
Jingning Han [Mon, 6 Jul 2015 23:52:24 +0000 (16:52 -0700)]
Unify subtract function used in VP8/9
This commit replaces the vp8_ prefixed subtract function with the
common vpx_subtract_block function. It removes redundant SIMD
optimization codes and unit tests.
Change-Id: I42e086c32c93c6125e452dcaa6ed04337fe028d9
Debargha Mukherjee [Tue, 7 Jul 2015 14:25:34 +0000 (14:25 +0000)]
Merge "Adds macros for new encoder controls"
paulwilkins [Tue, 7 Jul 2015 12:44:27 +0000 (12:44 +0000)]
Merge "Alter partition search at image edge."
paulwilkins [Tue, 7 Jul 2015 08:44:33 +0000 (08:44 +0000)]
Merge "Error score recalibration for inactive regions."
paulwilkins [Tue, 7 Jul 2015 08:44:15 +0000 (08:44 +0000)]
Merge "ARF Boost correction for inactive regions."
Parag Salasakar [Thu, 2 Jul 2015 12:38:06 +0000 (18:08 +0530)]
mips msa vp8 idct optimization
average improvement ~2x-5x
Change-Id: I19e82f78772993bcd67fcf975fe180232172f86d
James Zern [Tue, 7 Jul 2015 03:49:28 +0000 (20:49 -0700)]
vp9_entropymv: remove vp9_get_mv_mag()
inline the code directly in read_mv_component(), the only place where it
was being used; this removes a function call in a hot function
Change-Id: I66f99c0c9ce3bc310101dbca4a470f023cc6fb55
Parag Salasakar [Tue, 7 Jul 2015 02:10:21 +0000 (02:10 +0000)]
Merge "mips msa vpx_dsp sadx3 sadx8 optimization"
James Zern [Tue, 7 Jul 2015 00:48:57 +0000 (00:48 +0000)]
Merge "inline vp9_reader_has_error()"
Johann [Tue, 30 Jun 2015 16:23:23 +0000 (09:23 -0700)]
Remove comment about disabled tests
The tests were re-enabled in
1fe643cf03f45198e5a033743d7c4dc027b8dfd9
Change-Id: I17b45a4bbe720a56605aed338446ff77df71abad
Debargha Mukherjee [Mon, 6 Jul 2015 23:07:53 +0000 (16:07 -0700)]
Adds macros for new encoder controls
To aid version management for integration with ffmpeg by use
of:
#ifdef VPX_CTRL_<CTRL_ID>
...
#endif
Change-Id: If550e06de4d3aa3685881f312ce6a86fa9de083b
James Zern [Mon, 6 Jul 2015 22:52:38 +0000 (22:52 +0000)]
Merge "vp9_variance*.c: make static tables const"
James Zern [Mon, 6 Jul 2015 22:43:01 +0000 (22:43 +0000)]
Merge "mips msa vp9 subpel variance optimization"
Jingning Han [Mon, 6 Jul 2015 22:39:26 +0000 (22:39 +0000)]
Merge "Move subtract functions from vp9 to vpx_dsp"
James Zern [Mon, 6 Jul 2015 22:04:37 +0000 (15:04 -0700)]
vp9_variance*.c: make static tables const
Change-Id: Ia5044d13c09685c401191fe87fbf90d36203aadd
Parag Salasakar [Sun, 5 Jul 2015 16:14:06 +0000 (21:44 +0530)]
mips msa vp9 subpel variance optimization
Change-Id: If88401bf8c5d8ee58200278734d7a5058d1585d0
Debargha Mukherjee [Mon, 6 Jul 2015 21:36:38 +0000 (21:36 +0000)]
Merge "Expose params min-gf-interval/max-gf-interval"
James Zern [Mon, 6 Jul 2015 21:36:36 +0000 (21:36 +0000)]
Merge "remove vp9_get_interp_kernel()"
James Zern [Thu, 2 Jul 2015 02:01:58 +0000 (19:01 -0700)]
remove vp9_get_interp_kernel()
expose filter_kernels[] and do the table lookup directly
Change-Id: I0b10bff0327c3e01a723736141a9ffd377cd3d20
Debargha Mukherjee [Wed, 1 Apr 2015 23:39:06 +0000 (16:39 -0700)]
Expose params min-gf-interval/max-gf-interval
Adds two new vp9 parameters --min-gf-interval and --max-gf-interval
to enable testing based on frequency of alt-ref frames.
Also adds a unit-test to test enforcement of min-gf-interval.
For both these parameters the default value is 0, which indicates
they are picked by the encoder, based on resolution and framerate
considerations. If they are greater than zero, the specified
parameter is honored.
(Additional note by paulwilkins)
Note that there is a slight oddity in that key frames are also GFs and
considered part of GF only group. However they are treated as not
being part of an arf group because for arf groups the previous GF is
assumed to be the terminal or overlay frame for the previous group.
(end note)
Change-Id: Ibf0c30b72074b3f71918ab278ccccc02a95a70a0
Jingning Han [Mon, 6 Jul 2015 16:33:27 +0000 (09:33 -0700)]
Move subtract functions from vp9 to vpx_dsp
Factor out the subtraction operator as common function.
Change-Id: I526e703477c6a290e0e3e3c8898f8bb1ca82779b
Jingning Han [Mon, 6 Jul 2015 17:01:29 +0000 (17:01 +0000)]
Merge "Rename vpx_thread to vpx_util"
James Zern [Fri, 3 Jul 2015 18:44:00 +0000 (18:44 +0000)]
Merge "Revert "Correct the inter prediction coordinate...""
hkuang [Wed, 1 Jul 2015 23:22:47 +0000 (16:22 -0700)]
Revert "Correct the inter prediction coordinate..."
Change in
92b199061a13173d29247257f4ef906d38b012bf leads to frame parallel
decode failure in extreme case.
addresses issue #1010
Change-Id: I4fa488dac8e8c584f5eef4cae1640a579130d387
James Zern [Thu, 2 Jul 2015 21:07:31 +0000 (21:07 +0000)]
Merge "Revert "mips msa vp9 subpel variance optimization""
James Zern [Thu, 2 Jul 2015 21:07:22 +0000 (21:07 +0000)]
Merge "Revert "mips msa vp9 avg subpel variance optimization""
James Zern [Thu, 2 Jul 2015 19:02:52 +0000 (12:02 -0700)]
Revert "mips msa vp9 subpel variance optimization"
This reverts commit
a42df86c035d1bc007dbc816b4b758605135d6d9.
this change causes MSA/VP9SubpelVarianceTest.Ref and
MSA/VP9SubpelVarianceTest.ExtremeRef failures under
mips32r5el-msa-linux-gnu and mips64r6el-msa-linux-gnu
Change-Id: I40b71a0b774eaeb31f66f795733f95cf360909f7
James Zern [Thu, 2 Jul 2015 19:01:16 +0000 (12:01 -0700)]
Revert "mips msa vp9 avg subpel variance optimization"
This reverts commit
61774ad1c44c73ccde48a2e3456e86196965b5dc.
this change causes MSA/VP9SubpelAvgVarianceTest.Ref failures under
mips32r5el-msa-linux-gnu and mips64r6el-msa-linux-gnu
Change-Id: I7fb520c12b2a3b212d5e84b7619a380a48e49bb0
Jingning Han [Thu, 2 Jul 2015 17:01:09 +0000 (10:01 -0700)]
Rename vpx_thread to vpx_util
Change the dir name to include more util tools.
Change-Id: Id5b16062803ce5eed872fe2edb36d7e56b32eed8
paulwilkins [Wed, 17 Jun 2015 16:14:25 +0000 (17:14 +0100)]
Alter partition search at image edge.
Added code to reduce the minimum partition size searched
for super blocks at or straddling the edge of the image.
If the first pass has detected formatting bars the "active" edge
may not be the real edge.
Change-Id: I9c4bdd1477e60f162a75fac95ba6be7c3521e05c
paulwilkins [Tue, 16 Jun 2015 14:55:12 +0000 (15:55 +0100)]
Error score recalibration for inactive regions.
Apply a correction to the frame error scores for frames
with inactive regions.
Change-Id: I217840f2efe7eafed3f5b8ddc7c468f1ca3d923c
paulwilkins [Mon, 15 Jun 2015 10:28:38 +0000 (11:28 +0100)]
ARF Boost correction for inactive regions.
Correct the ARF boost calculations to partly discount
inactive or very low energy regions of the image.
Examples (formatting bars and 0 energy areas of animated clips).
Change-Id: I241af058d10aba8c67a4deca36deb913047d4561
Jingning Han [Thu, 2 Jul 2015 04:24:53 +0000 (04:24 +0000)]
Merge "Use vpx prefix for codec independent threading functions"
Jingning Han [Thu, 2 Jul 2015 04:24:35 +0000 (04:24 +0000)]
Merge "Move multi-threading module functions into vpx_thread folder"
Parag Salasakar [Thu, 2 Jul 2015 02:32:19 +0000 (08:02 +0530)]
mips msa vpx_dsp sadx3 sadx8 optimization
average improvement ~3x-5x
Change-Id: Ifdb4670d31ae83c4e22a4238293d1377b16c90db
James Zern [Thu, 2 Jul 2015 02:10:43 +0000 (19:10 -0700)]
inline vp9_reader_has_error()
this is tested for each block
Change-Id: I229c6f0e9513fb206bdbce8be9699a4bf4008ca4
James Zern [Thu, 2 Jul 2015 01:52:39 +0000 (01:52 +0000)]
Merge "vp9_pred_common: inline vp9_get_tx_size_context"
James Zern [Thu, 2 Jul 2015 01:52:19 +0000 (01:52 +0000)]
Merge "vp9_pred_common: inline vp9_get_segment_id"
James Zern [Thu, 2 Jul 2015 01:51:24 +0000 (01:51 +0000)]
Merge "vp9_dsubexp: replace some divides with shifts"
James Zern [Thu, 2 Jul 2015 01:51:05 +0000 (01:51 +0000)]
Merge "vp9/inv_remap_prob: simplify inv_map_table[]"
James Zern [Thu, 2 Jul 2015 01:50:44 +0000 (01:50 +0000)]
Merge "vp9_dsubexp: remove clamp in inv_remap_prob()"
Jingning Han [Wed, 1 Jul 2015 23:32:48 +0000 (16:32 -0700)]
Use vpx prefix for codec independent threading functions
Replace vp9_ prefix with vpx_ for common multi-threading functions.
Change-Id: I941a5ead9bfe8213fdad345511d2061b07797b55
Jingning Han [Wed, 1 Jul 2015 21:58:13 +0000 (14:58 -0700)]
Move multi-threading module functions into vpx_thread folder
This commit moves the primitive multi-threading files from vp9
folder to vpx_thread, which will be accessible by all vpx codec.
Change-Id: Ib51e66e9c69801c10631fab56d35a0c0aaed5883
Johann [Wed, 1 Jul 2015 21:14:41 +0000 (21:14 +0000)]
Merge "Fix --disable-use-x86inc when used with --enable-vp9-highbitdepth"
Johann [Wed, 1 Jul 2015 21:14:16 +0000 (21:14 +0000)]
Merge "Fix --disable-use-x86inc"
Johann [Tue, 30 Jun 2015 00:04:58 +0000 (17:04 -0700)]
Fix --disable-use-x86inc when used with --enable-vp9-highbitdepth
Change-Id: I0ed6de72dc0bb99fc9c5b1f6500399b16754ffb3
Johann [Mon, 29 Jun 2015 23:44:30 +0000 (16:44 -0700)]
Fix --disable-use-x86inc
Change-Id: I374fcd8fb45a6893dcdeac6896671be142a99f06
James Zern [Wed, 1 Jul 2015 20:05:49 +0000 (20:05 +0000)]
Merge "mips msa vp9 avg subpel variance optimization"
Scott LaVarnway [Wed, 1 Jul 2015 20:01:51 +0000 (20:01 +0000)]
Merge "Move inter_predictor to vp9_reconinter.h"
Parag Salasakar [Wed, 1 Jul 2015 18:23:08 +0000 (18:23 +0000)]
Merge "mips msa vpx_dsp sad sad4d avgsad optimization"
James Zern [Wed, 1 Jul 2015 17:57:52 +0000 (17:57 +0000)]
Merge "loopfiltersimpleverticaledge_neon: quiet uninit var warnings"
Scott LaVarnway [Wed, 1 Jul 2015 12:52:20 +0000 (12:52 +0000)]
Merge "VP9: Move ref_mvs[][] and mode_context[] from MB_MODE_INFO"
Parag Salasakar [Wed, 1 Jul 2015 08:16:41 +0000 (13:46 +0530)]
mips msa vp9 avg subpel variance optimization
average improvement ~3x-5x
Change-Id: Iefbcafc05daab77b38a4e63b551e427867a501a4
James Zern [Wed, 1 Jul 2015 06:23:59 +0000 (23:23 -0700)]
loopfiltersimpleverticaledge_neon: quiet uninit var warnings
take 2. localize the function parameter to actually remove the warning
Change-Id: I23c02061b5e21b0b75bd33c26062d1e531df7b92
Parag Salasakar [Wed, 1 Jul 2015 05:49:42 +0000 (11:19 +0530)]
mips msa vpx_dsp sad sad4d avgsad optimization
average improvement ~3x-5x
Change-Id: Ie30748cfbedebbd544b7ef4f286055ccb7f60306
James Zern [Wed, 1 Jul 2015 03:09:00 +0000 (20:09 -0700)]
vp9_dsubexp: replace some divides with shifts
Change-Id: I24e10c37ea8f06600cd04b43512efa6170e23e5c
James Zern [Wed, 1 Jul 2015 02:58:08 +0000 (19:58 -0700)]
vp9/inv_remap_prob: simplify inv_map_table[]
add one to each entry to remove the universal 'value + 1'.
Change-Id: I8919b1d7fde8155d1728196c4d577db3064e2c1e
Parag Salasakar [Wed, 1 Jul 2015 02:02:44 +0000 (07:32 +0530)]
mips msa vp9 subpel variance optimization
average improvement ~3x-5x
Change-Id: I4cbba2711467b0e205904769ebbb4a1fcbb1a311
Parag Salasakar [Wed, 1 Jul 2015 01:40:24 +0000 (01:40 +0000)]
Merge "mips msa vpx_dsp variance optimization"
James Zern [Tue, 30 Jun 2015 22:09:48 +0000 (15:09 -0700)]
vp9_dsubexp: remove clamp in inv_remap_prob()
the max value of the lookup in expanded form is:
(((1 << 7) - 1) << 1) - 65 + 1 + 64 = 254
remove the clamp [0, 253] and add one table entry
Change-Id: I0b5d0c66702fdb0b8f1cc9ab9b0dac66326e85a6
James Zern [Tue, 30 Jun 2015 21:12:50 +0000 (21:12 +0000)]
Merge "vp9_common_data: right-size tables"
Yaowu Xu [Tue, 30 Jun 2015 19:48:32 +0000 (19:48 +0000)]
Merge "Fixed a variance calculation"
Parag Salasakar [Fri, 26 Jun 2015 08:32:16 +0000 (14:02 +0530)]
mips msa vpx_dsp variance optimization
average improvement ~2x-4x
Change-Id: Ia3eef3f390148c2eb5cdc580a94cb26369737f82
Parag Salasakar [Tue, 30 Jun 2015 06:25:30 +0000 (06:25 +0000)]
Merge "mips msa vp9 common macro comments updated"
James Zern [Tue, 30 Jun 2015 06:21:58 +0000 (06:21 +0000)]
Merge changes Idce95354,I6b791088
* changes:
loopfiltersimpleverticaledge_neon: quiet uninit var warnings
idct_dequant_0_2x_neon: quiet uninit var warnings
Scott LaVarnway [Mon, 29 Jun 2015 16:27:11 +0000 (09:27 -0700)]
VP9: Move ref_mvs[][] and mode_context[] from MB_MODE_INFO
to MB_MODE_INFO_EXT. This saves 36 bytes per 8x8 area for
both the decoder and encoder. (encoder has two MODE_INFO
buffers)
Change-Id: If006abb2224acaf326df3c2be09e77e967662107
Scott LaVarnway [Mon, 29 Jun 2015 18:04:54 +0000 (18:04 +0000)]
Merge "Remove tile param"
Parag Salasakar [Fri, 26 Jun 2015 12:11:00 +0000 (17:41 +0530)]
mips msa vp9 common macro comments updated
Cosmetic/Grammatical corrections in vp9 macro comments
Change-Id: I774b983aff854feb69c7e4442e8731ce4c995645
Parag Salasakar [Sat, 27 Jun 2015 01:29:02 +0000 (01:29 +0000)]
Merge "mips msa vp9 temporal filter optimization"
Yaowu Xu [Fri, 26 Jun 2015 22:54:43 +0000 (15:54 -0700)]
Fixed a variance calculation
This commit fixed a mistake in variance calculation.
Thanks to Xintong for spotting the error.
Change-Id: Ia285fc0128c00f0234a73b0a7eba6adc88b8a7de
Tom Finegan [Fri, 26 Jun 2015 16:12:33 +0000 (16:12 +0000)]
Merge "vpxenc.sh: Add basic multithreaded frame parallel encode test."
Parag Salasakar [Fri, 26 Jun 2015 06:30:24 +0000 (12:00 +0530)]
mips msa vp9 temporal filter optimization
average improvement ~4x-5x
Change-Id: Iad9c0a296dbc2ea96d000bd009077999ed58a3c5
Parag Salasakar [Fri, 26 Jun 2015 03:53:56 +0000 (09:23 +0530)]
mips msa vp9 subtract block optimization
average improvement ~3x-4x
Change-Id: Idbe4d13a00d05ff8be6559b116f416e42c3b4097
Parag Salasakar [Fri, 26 Jun 2015 03:42:30 +0000 (03:42 +0000)]
Merge "mips msa vp9 block error optimization"
James Zern [Fri, 26 Jun 2015 03:27:50 +0000 (20:27 -0700)]
loopfiltersimpleverticaledge_neon: quiet uninit var warnings
the vector used in vld*_lane_* should be initialized before use
Change-Id: Idce95354737915f6fb4e6b5e8980a050e953036d
Parag Salasakar [Tue, 23 Jun 2015 07:18:50 +0000 (12:48 +0530)]
mips msa vp9 block error optimization
average improvement ~3x-4x
Change-Id: If0fdcc34b17437a7e3e7fb4caaf1067bc175f291
James Zern [Fri, 26 Jun 2015 03:27:50 +0000 (20:27 -0700)]
idct_dequant_0_2x_neon: quiet uninit var warnings
the vector used in vld*_lane_* should be initialized before use
Change-Id: I6b791088479fec3bc021ca75cc2af5adcc39d954
James Zern [Mon, 20 Apr 2015 22:56:10 +0000 (15:56 -0700)]
vp9_common_data: right-size tables
Change-Id: I2206ee148a46b234df58f2b623e9f32f26033e04
Tom Finegan [Wed, 24 Jun 2015 21:43:55 +0000 (14:43 -0700)]
vpxenc.sh: Add basic multithreaded frame parallel encode test.
Change-Id: Id526783fa2e3e9bb31229931b6548ac7a9b2b7e6
Marco [Thu, 25 Jun 2015 19:22:19 +0000 (12:22 -0700)]
Update to dynamic resize logic for 1pass CBR.
Only do the check for resizing if the feature is selected
(i.e., resize_mode = RESIZE_DYNAMIC).
And modify condition for checking to be resize_count >= window,
(since framerate can change).
Change-Id: Idceb4e50956bb965a1492b4993b0dcb393c9be4d
James Zern [Thu, 25 Jun 2015 02:14:18 +0000 (02:14 +0000)]
Merge "vp8_subpixelvariance_neon: right size coeff table"