Skip to content
Snippets Groups Projects
  1. Feb 13, 2025
  2. Feb 12, 2025
  3. Feb 10, 2025
    • Timothy B. Terriberry's avatar
      Remove commented-out code. · 734aed05
      Timothy B. Terriberry authored
      
      Git will now remember it for us forever.
      
      Signed-off-by: default avatarJean-Marc Valin <jeanmarcv@google.com>
      734aed05
    • Timothy B. Terriberry's avatar
      Always use L=0 for last repeated long extension. · 60d6c560
      Timothy B. Terriberry authored
      
      Even if it is followed by repeated short extensions with payloads.
      We track the total size of the short extension payloads that need
       to be repeated, and remove that from the available space for the
       last long extension.
      This means we can no longer use L=0 on a repeat to skip coding a
       frame separator when the extensions to be repeated contain a long
       extension followed by one or more short extensions with payloads
       (and there are no more non-repeated extensions in the current
       frame, but there are extensions in the next frame), but this case
       seems uncommon, and hard to explain.
      The savings from always being able to skip coding a length when the
       final extensions are repeated extensions with at least one long
       extension is likely higher.
      We can still skip a frame separator if we repeat only short
       extensions.
      
      Also update existing tests and add a test for the case where we do
       not have enough space for the repeated short extensions after the
       last long extension.
      
      Signed-off-by: default avatarJean-Marc Valin <jeanmarcv@google.com>
      60d6c560
    • Timothy B. Terriberry's avatar
      Advance frame number after an L=0 RTE. · b49c07d1
      Timothy B. Terriberry authored
      
      This avoids the need to code a frame separator in the case that the
       last repeated extension is a short extension, and the next
       non-repeated extension is in the following frame instead of the
       current one (saving one additional byte).
      Also add tests for both encoding and decoding this.
      
      Signed-off-by: default avatarJean-Marc Valin <jeanmarcv@google.com>
      b49c07d1
    • Timothy B. Terriberry's avatar
      Encoder implementation of Repeat These Extensions. · 10ceaedb
      Timothy B. Terriberry authored
      
      Also adds tests which exercise generating repeated extensions as
       well as the count_ext() and parse_ext() API for parsing extensions
       in frame order.
      
      Signed-off-by: default avatarJean-Marc Valin <jeanmarcv@google.com>
      10ceaedb
    • Timothy B. Terriberry's avatar
      Decoder implementation of Repeat These Extensions. · 58bf8b41
      Timothy B. Terriberry authored
      
      Right now, opus_packet_extensions_parse() returns the extensions in
       the order they appear in the packet, which is no longer necessarily
       in frame order.
      This adds a new (still private) API that returns parsed extensions
       in frame order, even when repeated extensions are used.
      Nothing has been converted to use this new API yet.
      
      Signed-off-by: default avatarJean-Marc Valin <jeanmarcv@google.com>
      58bf8b41
  4. Jan 27, 2025
  5. Sep 11, 2024
    • Timothy B. Terriberry's avatar
      Add extension iterator. · 6dabc64a
      Timothy B. Terriberry authored
      Rather than repeating the code to iterate through extensions in
       three different places, each with slight differences, different
       edge cases, different error handling, etc., create an iterator
       that can be used everywhere.
      6dabc64a
  6. Jul 30, 2024
  7. Apr 23, 2024
  8. Apr 09, 2024
  9. Apr 08, 2024
  10. Mar 04, 2024
  11. Mar 03, 2024
  12. Mar 02, 2024
  13. Feb 25, 2024
  14. Feb 23, 2024
  15. Feb 22, 2024
    • Timothy B. Terriberry's avatar
      Add signaling for a maximum DRED quantizer. · 3e2a6b62
      Timothy B. Terriberry authored and Jean-Marc Valin's avatar Jean-Marc Valin committed
      Since any value of dQ > 0 will cause the initial quantizer to
       degrade to the format-implied maximum (15) with a sufficient
       number of DRED frames, allow signaling a maximum smaller than 15.
      This allows encoders to improve the minimum quality of long DRED
       sequences (at the expense of bitrate) without requiring a constant
       quantizer for all frames (dQ == 0).
      3e2a6b62
  16. Feb 21, 2024
  17. Feb 20, 2024
  18. Feb 16, 2024
  19. Feb 15, 2024
  20. Feb 14, 2024
  21. Feb 07, 2024
  22. Feb 06, 2024
  23. Feb 02, 2024
  24. Jan 31, 2024
Loading