Deb Mukherjee
65f14b0067
Merge "Some cleanups on rate control"
2013-11-26 09:34:20 -08:00
Dmitry Kovalev
5488da280d
Merge "Moving mv entropy encodings calculation to the encoder side."
2013-11-25 19:15:21 -08:00
Dmitry Kovalev
d5f6ca8255
Merge "Removing vp9_modecosts.{c, h} files."
2013-11-25 19:14:47 -08:00
Deb Mukherjee
25f1195a25
Some cleanups on rate control
...
Removes the active_worst_qchanged variable since it is never
set to 1.
Change-Id: I29a291fd1068fd9b504a2db7768d45644c1eae3e
2013-11-25 18:58:45 -08:00
Dmitry Kovalev
56d048c412
Moving mv entropy encodings calculation to the encoder side.
...
Moved arrays:
vp9_mv_joint_encodings
vp9_mv_class_encodings
vp9_mv_class0_encodings
vp9_mv_fp_encodings
Change-Id: Iaf5008c579fcbd6d77fdd81d1aef8c71b5f308b7
2013-11-25 16:36:28 -08:00
Dmitry Kovalev
7ba7a5f817
Merge "Removing redundant call of vp9_init_mbmode_probs()."
2013-11-25 16:08:42 -08:00
Dmitry Kovalev
204ff1c868
Removing vp9_modecosts.{c, h} files.
...
Renaming vp9_init_mode_costs() to fill_mode_costs() and moving it to
vp9_rdopt.c.
Change-Id: Ib2542d216458f6dced9f4b7ccbdd2cd98176aa5a
2013-11-25 12:44:05 -08:00
Dmitry Kovalev
939b297ac7
Reusing txfrm_block_to_raster_xy in vp9_xform_quant().
...
Change-Id: Ib273dfff3be284f3c9ae288e5315fb6c6126f9c2
2013-11-25 11:13:55 -08:00
Dmitry Kovalev
22216a8691
Merge "Cleaning up vp9_write_nmv_probs() function."
2013-11-25 11:03:00 -08:00
Dmitry Kovalev
3e72277272
Merge "Adding select_tx_size() function."
2013-11-25 10:59:56 -08:00
Dmitry Kovalev
cfc1f91c9f
Merge "Moving {left, right}_block_mode to vp9_blockd.h."
2013-11-25 10:59:24 -08:00
Dmitry Kovalev
e8af3db88a
Merge "Renaming COMPPREDMODE_TYPE enum and its members."
2013-11-25 10:59:08 -08:00
Yaowu Xu
cc1e05ca5f
Merge "In frame Q adjustment experiment."
2013-11-25 10:52:22 -08:00
Jingning Han
f547fb8e07
Merge "Use separate inter predictors for enc/dec"
2013-11-25 10:29:07 -08:00
Paul Wilkins
644bd87e8e
In frame Q adjustment experiment.
...
The idea here is to allow "in frame" adjustment of the final Q
value used to encode each SB64, using segmentation.
There is also adjustment of the rd mult in regions of overspend.
Activated using aq_mode=2
Change-Id: I2f140cd898c9f877c32cd6d2e667f5e11ada4b1c
2013-11-25 10:22:55 -08:00
Yaowu Xu
3183135dd3
Merge "Fix a build issue with visual c."
2013-11-25 10:20:53 -08:00
Guillaume Martres
0c54beb1ee
Merge "Rename block_yrd_txfm to block_rd_txfm"
2013-11-25 09:45:55 -08:00
Jingning Han
ba8b5e8d6d
Use separate inter predictors for enc/dec
...
The decoder will construct inter predictor using lazy border extension,
while the encoder, going with multiple runs of motion search in the rate-
distortion optimization loop for each block, does border extension at
frame level. This commit makes separate the inter predictors for encoder
and decoder, respectively.
Change-Id: Ieca2fecba3a7201a6d64ef9f219e5d91e50559c3
2013-11-25 09:43:34 -08:00
Jingning Han
12e5ec6aa8
Merge "Separate setup_scale_factor/extend_frame_borders"
2013-11-25 09:14:46 -08:00
Yaowu Xu
86368faca9
Fix a build issue with visual c.
...
Change-Id: Ic8fc16ee1734cfde0d12a2e3abb3e9299382f3b1
2013-11-25 08:11:35 -08:00
Dmitry Kovalev
c6c7557f8e
Cleaning up vp9_write_nmv_probs() function.
...
Change-Id: I9af38f1a0e226ee094c17081f044a722ac1caded
2013-11-24 16:20:59 -08:00
Guillaume Martres
87375e257b
Rename block_yrd_txfm to block_rd_txfm
...
This function is also used with the U and V planes.
Change-Id: Ib6beae0438790bfb690b3a2bda9c5c8b0e89a9b8
2013-11-25 01:18:51 +01:00
Dmitry Kovalev
2d50c8498d
Merge "Using partition counts from FRAME_COUNTS struct in the encoder."
2013-11-24 16:08:29 -08:00
Dmitry Kovalev
9fe88870c5
Merge "Cleaning up vp9_append_sub8x8_mvs_for_idx."
2013-11-24 16:08:20 -08:00
Dmitry Kovalev
52b43a2876
Inlining and removing vp9_set_pred_flag_seg_id() function.
...
Change-Id: I0fd76937e847f78378a7ab3fa0af00a7c2c52b42
2013-11-22 17:32:11 -08:00
Dmitry Kovalev
520aa705cb
Merge "Organizing all scan tables into lookup table."
2013-11-22 17:16:19 -08:00
Dmitry Kovalev
fb9c19c62d
Renaming COMPPREDMODE_TYPE enum and its members.
...
List of renames:
COMPPREDMODE_TYPE => REFERENCE_MODE
SINGLE_PREDICTION_ONLY => SINGLE_REFERENCE
COMP_PREDICTION_ONLY => COMPOUND_REFERENCE
HYBRID_PREDICTION => REFERENCE_MODE_SELECT (like TX_MODE_SELECT)
NB_PREDICTION_TYPES => REFERENCE_MODES
Change-Id: If723dabe9435325d0165dcd028142a2c78b417b4
2013-11-22 16:35:37 -08:00
Dmitry Kovalev
350731e8f9
Organizing all scan tables into lookup table.
...
Change-Id: Ie829ee58a55157e6972c63cebe69a5d0a3221349
2013-11-22 16:20:45 -08:00
Dmitry Kovalev
52fa10a9a3
Cleaning up vp9_append_sub8x8_mvs_for_idx.
...
Change-Id: Ic92f15d82ff5cfa3df655d08e460335c2ef8a325
2013-11-22 15:28:32 -08:00
Dmitry Kovalev
75e4377d81
Using partition counts from FRAME_COUNTS struct in the encoder.
...
Change-Id: I6c3d47b00acabe7ffba22ffc73741173aa9a0bff
2013-11-22 14:26:39 -08:00
Jingning Han
86d2a9b978
Separate setup_scale_factor/extend_frame_borders
...
This commit takes out vp9_extend_frame_borders from
vp9_setup_scale_factors.
The refactoring is for the preparation of the use of lazy border
extension at decoder. This makes it necessary to handle border
extension separately at encoder/decoder. The use of
vp9_extend_frame_borders will be removed, when lazy border extension
is ready.
Change-Id: Ia3baba3d179d5f11eee1634f19b3b319d2a59186
2013-11-22 12:02:08 -08:00
Adrian Grange
2117fe0593
Fix decoder to handle display size correctly
...
The decoder ignored the display width & height
specified in the frame header.
This patch adds a control, VP9D_GET_DISPLAY_SIZE, to
allow the application to obtain the display width and
height from the frame header.
vpxdec has been modified to scale the output frame to
this size.
Should the request for the display size fail vpxdec will
use the native width and height of the raw decoded
frame instead.
Change-Id: I25db04407426dac730263720c75a7dd6400af68a
2013-11-22 11:58:07 -08:00
Dmitry Kovalev
0a64f943fc
Merge "Cleaning up entropy probability update in encoder."
2013-11-22 10:52:40 -08:00
Dmitry Kovalev
e0ec61187e
Merge "Removing txfrm_block_to_raster_xy() call from extend_for_intra()."
2013-11-22 10:51:38 -08:00
Yunqing Wang
384089004d
Merge "Improve vp9_fdct4x4_sse2 (x1.2)"
2013-11-22 10:39:55 -08:00
Jim Bankoski
a64a192c90
Merge changes Id1698a35,Idcabd0b9
...
* changes:
detokenization speedups
Don't write 0's to token_cache
2013-11-22 08:16:17 -08:00
Deb Mukherjee
5576a4e1cb
Merge "Refactoring of rate control - part 1"
2013-11-22 08:06:48 -08:00
Deb Mukherjee
f1781e86b7
Refactoring of rate control - part 1
...
Moves all rate control variables to a separate structure,
removes some currently unused variables,
moves some rate control functions to vp9_ratectrl.c,
and splits the encode_frame_to_data_rate function.
Change-Id: I4ed54c24764b3b6de2dd676484f01473724ab52b
2013-11-22 07:07:24 -08:00
Dmitry Kovalev
7c8cac3c21
Removing txfrm_block_to_raster_xy() call from extend_for_intra().
...
Change-Id: I6a48d1f35ed5fe7a2c7499675b339994c9c3bdf2
2013-11-21 19:30:58 -08:00
Jim Bankoski
70ffd5d055
detokenization speedups
...
removed unnecessary ifs and branches ..
Change-Id: Id1698a35292659388f48926791024d1400f2cea9
2013-11-21 16:55:22 -08:00
Dmitry Kovalev
ad3333e2cd
Merge "Removing plane_block_{width, height} functions."
2013-11-21 16:37:27 -08:00
Dmitry Kovalev
6042f781f7
Merge "Using txfrm_block_to_raster_xy() in encoder."
2013-11-21 16:24:22 -08:00
Dmitry Kovalev
485682c30a
Adding select_tx_size() function.
...
Change-Id: I9d18b31661a2ccdcd4e25956882c7fc2d4b7002e
2013-11-21 15:55:40 -08:00
Frank Galligan
fe847e7660
Merge "Revert "Add 16 wide neon horz loopfilter.""
2013-11-21 15:06:17 -08:00
Frank Galligan
97d1258375
Revert "Add 16 wide neon horz loopfilter."
...
The change caused mismatches with some test vectors on neon.
Original CL: https://gerrit.chromium.org/gerrit/#/c/67863/
Change-Id: I913891636d53783e93cb1865ca78ded1821dc4b0
2013-11-21 14:01:33 -08:00
Jim Bankoski
b38e42fe9d
Don't write 0's to token_cache
...
This code only updates the token_cache if the result is non0.
Change-Id: Idcabd0b993a926fea9c29dbec134b9c5c4859b40
2013-11-21 12:52:15 -08:00
Dmitry Kovalev
864e7c51b6
Syncing update_coef_probs() implementation with decoder.
...
Using for loop based on max_tx_size instead of separate checks. Combining
build_coeff_contexts() with update_coef_probs().
Change-Id: Ie335a7db29830677fbc14478a9c190d3c1068665
2013-11-21 12:36:02 -08:00
Abo Talib Mahfoodh
ec2dbdd107
Improve vp9_fdct4x4_sse2 (x1.2)
...
Modifications are done to reduce the total clock cycle.
Speedup: 1.2
Tested with: park_joy_420_720p50.y4m
Change-Id: Ia36b87e62e2f80a5fadaf5628729aedc80f38f3f
2013-11-21 15:04:35 -05:00
Dmitry Kovalev
4896d5c7ef
Moving {left, right}_block_mode to vp9_blockd.h.
...
Both functions have no relation to motion vectors, so moving them from
vp9_findnearmv.h to vp9_blockd.h.
Change-Id: I74f524267886ab0fff4a2da793a10c906ed0f43a
2013-11-21 11:43:53 -08:00
Yunqing Wang
e002bb99a8
Merge "Add filter_selectively_vert_row2 to enable parallel loopfiltering"
2013-11-21 11:25:55 -08:00