• Paul Wilkins's avatar
    Further work on Segmentation Experiment: · 661b2c2d
    Paul Wilkins authored
    This check in includes quite a lot of clean up and refactoring.
    
    Most of the analysis and set up for the different coding options for the
    segment map (currently simple distribution based coding or temporaly
    predicted coding), has been moved to one location (the function
    choose_segmap_coding_method() in segmenation.c). This code was previously
    scattered around in various locations making integration with other
    experiments and modification / debug more difficult.
    
    Currently the functionality is as it was with the exception that the
    prediction probabilities are now only transmitted when the temporal
    prediction mode is selected.
    
    There is still quite a bit more clean up work that will be possible
    when the #ifdef is removed. Also at that time I may rename and alter
    the sense of macroblock based variable "segment_flag" which indicates
    (1 that the segmnet id is not predicted vs 0 that it is predicted).
    
    I also intend to experiment with a spatial prediction mode that can be
    used when coding a key frame segment map or in cases where temporal
    prediction does not work well but there is spatial correlation.
    
    In a later check in when the ifdefs have gone I may also move the call
    to choose_segmap_coding_method() to just before where the bitsream is
    packed (currently it is in vp8_encode_frame()) to further reduce the
    possibility of clashes with other experiments and prevent it being called
    on each itteration of the recode loop.
    
    Change-Id: I3d4aba2a2826ec21f367678d5b07c1d1c36db168
    661b2c2d
segmentation.c 10.7 KB