1. 20 Jun, 2019 11 commits
  2. 19 Jun, 2019 5 commits
  3. 18 Jun, 2019 3 commits
  4. 15 Jun, 2019 2 commits
  5. 14 Jun, 2019 11 commits
  6. 11 Jun, 2019 7 commits
    • Derek Buitenhuis's avatar
      Fix 'pryamid' typo · d9a921f1
      Derek Buitenhuis authored
      
      Signed-off-by: default avatarDerek Buitenhuis <derek.buitenhuis@gmail.com>
      d9a921f1
    • Timothy B. Terriberry's avatar
      Fix bitrate display. · c9df3472
      Timothy B. Terriberry authored
      "kb/s" in communication always means 1000 b/s.
      c9df3472
    • Timothy B. Terriberry's avatar
      Fix guess_frame_subtypes(). · dc7d8b81
      Timothy B. Terriberry authored
      We now properly track Show Existing Frame frames, and only add rate
       back to the rate control buffer on TU boundaries.
      dc7d8b81
    • Timothy B. Terriberry's avatar
      Separate out frame index mapping logic. · 58da9d03
      Timothy B. Terriberry authored
      This logic was buried deep inside
       FrameInvariants::new_inter_frame(), but we will need it elsewhere
       to make guess_frame_subtypes() work.
      Separate out the static configuration into InterConfig, and pass in
       the variable state as function parameters.
      This patch makes new functions to
      - Determine the index of an output frame in its reorder group
      - Get the order hint for a given output frame
      - Get the pyramid level of an output frame
      - Get the reference frame slot where a decoded frame will be stored
      - Get whether or not a given output frame will be shown
      - Get whether or not a given output frame is a Show Existing Frame
      Not yet converted:
      - Logic to select the references used by an inter frame
      
      This patch introduces no functional changes.
      58da9d03
    • Timothy B. Terriberry's avatar
      More explicit naming conventions for frame indices. · 7791bb18
      Timothy B. Terriberry authored
      Instead of using generic terms like "idx" and "number", explicitly
       describe every variable involving frame indices in terms of
       whether it is counting input frames or output frames.
      This removes an output-centric bias that may not be obvious in some
       places (group_len vs. group_src_len), and immediately makes
       several bugs in guess_frame_subtypes() obvious.
      
      This patch introduces no functional changes.
      It is just renaming.
      
      PUBLIC API CHANGE:
      -Packet::number gets renamed
      7791bb18
    • Timothy B. Terriberry's avatar
      Make FrameInvariants invariant in encode_frame(). · cf42ee54
      Timothy B. Terriberry authored
      Despite the name, we were passing FrameInvariants to encode_frame()
       as &mut.
      There were two places that it actually mutated the contents.
      1) In write_sequence_header_obu(), several fields were set to
          constants.
         Given that we write the sequence header multiple times, but its
          contents should never change, the initialization does not
          belong in this function, as that is just asking to violate this
          constraint if we ever make them non-constant.
         Instead just initialize the fields when the rest of the
          FrameInvariant struct is initialized, since the values are
          currently constant anyway.
         We can find a better place than write_sequence_header_obu()
          (one that really is called once per sequence) if we ever want
          to make them non-constant.
      2) The ref_frame_sign_bias[] fields are initialized at the very
          start of encode_frame().
         These can instead be initialized in new_inter_frame() as soon as
          ref_frames[i] is set.
      
      With the above two changes we can drop the &mut and ensure that
       FrameInvariants really is invariant.
      cf42ee54
    • Luca Barbato's avatar
      17822b57
  7. 08 Jun, 2019 1 commit