diff options
author | Paul Wilkins <paulwilkins@google.com> | 2011-11-11 10:10:06 +0000 |
---|---|---|
committer | Paul Wilkins <paulwilkins@google.com> | 2011-11-11 18:31:21 +0000 |
commit | bf25d4ad7f5f9c7b11894be140783da8ee640494 (patch) | |
tree | 187c1337db487b987bf9dd6ad8e81fadab4fdd8f /vp8/decoder/decodframe.c | |
parent | e01b39254b7289f124b2ba2b0fcdfb1e64aadd0c (diff) | |
download | libvpx-bf25d4ad7f5f9c7b11894be140783da8ee640494.tar libvpx-bf25d4ad7f5f9c7b11894be140783da8ee640494.tar.gz libvpx-bf25d4ad7f5f9c7b11894be140783da8ee640494.tar.bz2 libvpx-bf25d4ad7f5f9c7b11894be140783da8ee640494.zip |
SEGMENTATION experiment:
Some initial cleanup to aid testing and debug.
Pull code to choose temporal or spatial encoding
out of encodeframe.c into a dedicated function
in segmentation.c.
For now disable broken temporal mode.
Move the coding of "temporal_update" flag and
only transmit if segment map update is indicated.
Rename the functions read_mb_features() and
write_mb_features() to read_mb_segid() and
read_mb_segid() as they only read and write
the macroblock segment id not any of the
features.
Change-Id: Ib75118520b1144c24d35fdfc6ce46106803cabcf
Diffstat (limited to 'vp8/decoder/decodframe.c')
-rw-r--r-- | vp8/decoder/decodframe.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/vp8/decoder/decodframe.c b/vp8/decoder/decodframe.c index 963939cf0..5ba499155 100644 --- a/vp8/decoder/decodframe.c +++ b/vp8/decoder/decodframe.c @@ -1004,8 +1004,17 @@ int vp8_decode_frame(VP8D_COMP *pbi) xd->segmentation_enabled = (unsigned char)vp8_read_bit(bc); if (xd->segmentation_enabled) { - /* Signal whether or not the segmentation map is being explicitly updated this frame. */ + // Read whether or not the segmentation map is being explicitly + // updated this frame. xd->update_mb_segmentation_map = (unsigned char)vp8_read_bit(bc); + +#if CONFIG_SEGMENTATION + // If so what method will be used. + if ( xd->update_mb_segmentation_map ) + xd->temporal_update = (unsigned char)vp8_read_bit(bc); +#endif + + // Is the segment data being updated xd->update_mb_segmentation_data = (unsigned char)vp8_read_bit(bc); if (xd->update_mb_segmentation_data) |