Skip to content
  • David Barker's avatar
    no-frame-context-signaling + q-adapt-probs: Fix interaction · 11eac7bf
    David Barker authored
    Slightly change the way we save and reload frame contexts during
    frame setup. For "normal" frames everything is the same, but for
    error-resilient and/or intra-only frames, we now:
    
    * Reset the frame context using setup_past_independence()
      (+ extra code if q-adapt-probs is enabled), as usual
    * Store this frame context into a special slot in cm->frame_contexts
    * Use that slot to fill in cm->pre_fc
    
    The main difference from before is that (for error-resilient/intra-only
    frames which are not key frames) we used to throw away the frame
    context after setting it up, and would re-use whatever was set up
    at the last keyframe.
    This was fine when q_adapt_probs is disabled, but it caused an
    inconsistency when combined with q_adapt_probs. See the attached
    bug report for more details on that.
    
    BUG=aomedia:1104
    
    Change-Id: I9532b6b0e8ae29efbb4f059a0c67a73d7c7828ce
    11eac7bf