Skip to content

Idea: Shrink sign_counts array to fit into a single cache line. #86

@Melirius

Description

@Melirius

Only part of the array is used in VP8 decoding:

  • [0][0] - in 7x7 AC (1 element),
  • [0][calc_sign_index(uncertainty2) + 1] - in DC (3 elements),
  • [calc_sign_index(best_prior as i16)][best_prior_bit_len] - in edge AC (2 * 10 for sign_index=1,2 and best_prior_bit_len in [1,10], 1 additional for sign_index=0: [0][0] for 0 prior, and [0][10] for 0 (prior as i16) but prior != 0)

It gives 25 2-byte branches used instead of 36 in current array.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions