diff options
author | Yaowu Xu <yaowu@google.com> | 2011-11-17 18:31:00 -0800 |
---|---|---|
committer | Yaowu Xu <yaowu@google.com> | 2011-12-01 07:34:27 -0800 |
commit | bba710fcbd1d815f65e8effb135cd5afe6330824 (patch) | |
tree | d65cbea18a40a34d0275b73798a297205ce322fe /vp8/encoder/onyx_if.c | |
parent | a917afabbb94e12da1107fda7edc52b174532304 (diff) | |
download | libvpx-bba710fcbd1d815f65e8effb135cd5afe6330824.tar libvpx-bba710fcbd1d815f65e8effb135cd5afe6330824.tar.gz libvpx-bba710fcbd1d815f65e8effb135cd5afe6330824.tar.bz2 libvpx-bba710fcbd1d815f65e8effb135cd5afe6330824.zip |
added transform type to MB_MODE_INFO
this commit is to add an variable in the macroblock level mode
info structure to track the transform size used in each MB, so
the information can be used later in the loop filter to change
how loop filter works on MBs with different transform sizes.
Change-Id: Id0eeaba6cc854c6d1be00ed8d237b3d9e250e447
Diffstat (limited to 'vp8/encoder/onyx_if.c')
-rw-r--r-- | vp8/encoder/onyx_if.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/vp8/encoder/onyx_if.c b/vp8/encoder/onyx_if.c index 799a656eb..c9d91aeaf 100644 --- a/vp8/encoder/onyx_if.c +++ b/vp8/encoder/onyx_if.c @@ -476,18 +476,8 @@ static void init_seg_features(VP8_COMP *cpi) // Where relevant assume segment data is delta data xd->mb_segement_abs_delta = SEGMENT_DELTADATA; -#if CONFIG_T8X8 - // 8x8TX test code. - // This assignment does not necessarily make sense but is - // just to test the mechanism for now. - enable_segfeature(xd, 0, SEG_LVL_TRANSFORM); - set_segdata( xd, 0, SEG_LVL_TRANSFORM, TX_4X4 ); - enable_segfeature(xd, 1, SEG_LVL_TRANSFORM); - set_segdata( xd, 1, SEG_LVL_TRANSFORM, TX_8X8 ); -#endif } } - // All other frames if segmentation has been enabled else if ( xd->segmentation_enabled ) { @@ -586,6 +576,25 @@ static void init_seg_features(VP8_COMP *cpi) // No updeates.. leave things as they are. xd->update_mb_segmentation_map = 0; xd->update_mb_segmentation_data = 0; + +#if CONFIG_T8X8 + { + vp8_disable_segmentation((VP8_PTR)cpi);
+ clearall_segfeatures(xd); + vp8_enable_segmentation((VP8_PTR)cpi); + // 8x8TX test code. + // This assignment does not necessarily make sense but is + // just to test the mechanism for now. + enable_segfeature(xd, 0, SEG_LVL_TRANSFORM); + set_segdata( xd, 0, SEG_LVL_TRANSFORM, TX_4X4 ); + enable_segfeature(xd, 1, SEG_LVL_TRANSFORM); + set_segdata( xd, 1, SEG_LVL_TRANSFORM, TX_8X8 ); + /* force every mb to use 8x8 transform for testing*/ + vpx_memset(cpi->segmentation_map, 1, + cpi->common.mb_rows * cpi->common.mb_cols); + + } +#endif } } } |