Dmitry Kovalev
f00d157c12
Moving eob array to the encoder.
...
In the decoder we don't need to save eobs, we can pass eob as an argument.
That's why removing eob arrays from VP9Decompressor and TileWorkerData,
and moving eob pointer from macroblockd_plane to macroblock_plane.
Change-Id: I8eb919acc837acfb3abdd8319af63d1bbca8217a
2013-12-03 17:59:32 -08:00
Jingning Han
3c34619125
Fix initialization order for the encoder
...
This commit makes the coefficient tree initialized prior to token
initialization, where the coefficient costs are filled out according
to the probabilities associated with coefficient value categories.
Change-Id: If4e89c3923058376f8382c683fe4a225a4a38af3
2013-12-03 15:29:24 -08:00
Alex Converse
f63c75de84
Merge "Remove plane_block_idx."
2013-12-03 10:51:13 -08:00
Jingning Han
b88b49a7bc
Merge "Fix intra prediction ref selection in skip_encode"
2013-12-03 09:47:41 -08:00
Paul Wilkins
8a4310b160
Merge "Fix use_uv_intra_estimate in rd loop"
2013-12-03 04:30:50 -08:00
Jingning Han
f01ad926d0
Fix intra prediction ref selection in skip_encode
...
This commit fixes the intra prediction reference source selection
in the settings of skip_encode. Use original boundary pixels as
prediction reference, when the inverse transform and reconstruction
are skipped in the per block size rate-distortion optimization loop.
Change-Id: I36081aa30aa46e203e0e6f4e8a420fd08269469a
2013-12-02 18:48:51 -08:00
Alex Converse
2360a5f093
Remove plane_block_idx.
...
Its last remaining caller can be passed its results directly without any
additional work. Also, it's not non-4:2:0 safe.
Change-Id: Ia5089ba5f7f66c7617270483c619c9271aefd868
2013-12-02 18:33:50 -08:00
Jingning Han
9f81a50c85
Fix use_uv_intra_estimate in rd loop
...
This commit fixes the use of uv_intra_estimate by properly restoring
the mode_info struct required by rd_pick_intra_sbuv_mode.
Change-Id: I6a156d79533c4e2e60dfd3b8c5bb0a42a8eca280
2013-12-02 17:30:41 -08:00
Alex Converse
962fc2e1e7
Disable partitioning in the dominant subsampling direction.
...
E.g. disable vertical partioning for 4:2:2. Until we come up with something
better to do with the chroma block size, this prevents an assert error.
Change-Id: I9394fb3f14ec1343abc3ad4769de208e6278f285
2013-12-02 13:38:11 -08:00
Dmitry Kovalev
862c22cf7d
Merge "Moving token-encoding related stuff from common to encoder."
2013-12-02 10:32:04 -08:00
Dmitry Kovalev
526a774adb
Merge "Moving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h."
2013-12-02 10:31:31 -08:00
Yaowu Xu
e237b7dea3
Merge "Simplify super_block_yrd()"
2013-12-02 09:39:42 -08:00
Yaowu Xu
56d9a4fcd5
Merge "Merge tx selection into RD calculation"
2013-12-02 09:39:10 -08:00
Deb Mukherjee
e924057d80
Fixing inadvertent change
...
Fixes an inadvertant change made in a previous patch while doing
some experiments.
Change-Id: I9961f2157c803676491a3d6daf056ff8a37367b3
2013-11-27 14:50:34 -08:00
Dmitry Kovalev
d83d61d942
Moving reaster_block_offset{,_int16} from vp9_blockd.h to vp9_rdopt.h.
...
Change-Id: I5a5888d4639cc6b7eb266be47581dd15ba08c91e
2013-11-27 12:57:21 -08:00
Deb Mukherjee
a622ed554f
Merge "Continued rate control clean-ups"
2013-11-27 12:04:38 -08:00
Deb Mukherjee
d17ac4feb2
Continued rate control clean-ups
...
Moves all post encode rate control updates to a separate function
plus other cleanups.
Change-Id: I70e8eccf666c88d8b649b969997fd84d27e4baaa
2013-11-27 11:34:48 -08:00
Dmitry Kovalev
f9da823216
Moving token-encoding related stuff from common to encoder.
...
Change-Id: I0e59d320407b3bed0ba3622a7b29975f6fad7ebf
2013-11-27 11:27:57 -08:00
Dmitry Kovalev
e2f1d02eb3
Merge "Moving mode encodings from common to encoder + cleanup."
2013-11-27 11:00:54 -08:00
Yaowu Xu
e9c19617bf
Merge "vp9_short_fdct32x32_rd vp9_short_fdct32x32 optimized for AVX2"
2013-11-27 10:27:32 -08:00
Dmitry Kovalev
d3a2e55af4
Removing qcoeff buffers from the decoder.
...
We only need qcoeff buffers in the encoder. Reducing TileWorkerData struct
and VP9Decompressor struct sizes by 24K.
Change-Id: Id148868461f7ffa3d3dd634b371503ae9c57e207
2013-11-26 18:52:10 -08:00
Yaowu Xu
971112f965
Simplify super_block_yrd()
...
Change-Id: Iae16644faeed920e69cd5d1db71e2e1e4bda241c
2013-11-26 17:05:56 -08:00
Dmitry Kovalev
f4bf712fbb
Moving mode encodings from common to encoder + cleanup.
...
Change-Id: I248ccb1532e2cd95314d0b95108f2c2e71cf084f
2013-11-26 14:53:17 -08:00
Yaowu Xu
08d6fa6de4
Merge tx selection into RD calculation
...
Change-Id: I406021e34b31b899202a99b39d3da4fa06ebee69
2013-11-26 12:37:25 -08:00
Yaowu Xu
5e4f4196a9
Merge "Fix unit test failures"
2013-11-26 11:22:30 -08:00
Yaowu Xu
03094a5533
Fix unit test failures
...
Change-Id: Ibc61ef81fafeb20df6df6e5496b6c01760f3dc84
2013-11-26 09:57:55 -08:00
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
e8af3db88a
Merge "Renaming COMPPREDMODE_TYPE enum and its members."
2013-11-25 10:59:08 -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
Guillaume Martres
0c54beb1ee
Merge "Rename block_yrd_txfm to block_rd_txfm"
2013-11-25 09:45:55 -08:00
Jingning Han
12e5ec6aa8
Merge "Separate setup_scale_factor/extend_frame_borders"
2013-11-25 09:14:46 -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
52b43a2876
Inlining and removing vp9_set_pred_flag_seg_id() function.
...
Change-Id: I0fd76937e847f78378a7ab3fa0af00a7c2c52b42
2013-11-22 17:32:11 -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
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
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