tree 13c0ddba956125f7735fbcf82aa9036cccf6c1c4
parent 6e9232c6621e5803a12909bcbdba84052a5abff3
author David Turner <david.turner@argondesign.com> 1542281670 +0000
committer David Turner <david.turner@argondesign.com> 1543860230 +0000

Remove some side-effects from av1_pack_bitstream

Various actions take place in av1_pack_bitstream which are not actually
part of the process of writing the bitstream.  In this patch I remove
some of these with the goal that in future  av1_pack_bitstream will only
produce a bitstream and not mutate state in any other way.

* There is no need to reset cm->cdef_info here if CDEF is disabled
* Replace unnecessary modification of cm->tx_mode with assertion
* Make cm->frame_refs_short_signaling a local variable
* Remove cm->is_reference_frame flag (it is never read)
* Remove unnecessary write to allow_high_precision_mv
* Remove unnecessary write to cm->refresh_frame_context
* Remove invalid_delta_frame_id_minus_1 flag
  * Replace the error flag with an immediate aom_internal_error at the
    point where the error is detected.
* Remove CurrentFrame.intra_only
  * In the encoder it was always 0.
  * In the decoder it was set to CurrentFrame.frame_type == INTRA_ONLY_FRAME
  * In each case replace reads of the variable with its assigned value.
* Remove RefCntBuffer.intra_only as it was always equal to
  (buf.frame_type == KEY_FRAME || buf.frame_type == INTRA_ONLY_FRAME)

This forms part of wider restructuring and refactoring in order to
achieve a clean API separation at the entry to the low-level encoder.

BUG=aomedia:2244


Change-Id: Ifcfdf6ec089a0f211facfeeab5a4ac6e4796989e
