1. 27 Oct, 2020 2 commits
    • Ralph Giles's avatar
      gitlab-ci: Add scons build. · 71807172
      Ralph Giles authored
      Apparently this still has users, so test it, rather than
      removing it. Verify we can build and clean up without error.
    • Ralph Giles's avatar
      Add a gitlab ci configuration. · c5a83d0a
      Ralph Giles authored
      Add a build description for gitlab's continuous integration build
      and test runners. This gives us ongoing converage on commmits
      and merge requests in the upstream repository.
      Based on the gcc:9 image we currently use for most projects.
      It already includes make and autotools, but we need to install
      dependencies for the example programs and documentation.
        - debian buster has fig2dev in its own package.
        - latex-extras is needed for wrapfig, which has been superceeded
          by lwarp-wrapfig.
      NB defining a separate job at the test stage clears all the
      generated artefacts, which means we lose our configure script
      and makefiles. Therefore isn't more efficient to just do the
      tests as extra steps in the build stage.
  2. 24 Oct, 2020 1 commit
  3. 22 Oct, 2020 1 commit
    • Zebediah Figura's avatar
      Avoid creating a Cairo buffer if all telemetry options are set to 0. · 5f38d062
      Zebediah Figura authored
      GStreamer's "theoradec" element always calls th_decode_ctl() for all telemetry
      options, passing 0 if they are not enabled. This results in our creating a
      Cairo buffer and performing YUV/RGB conversion, even if all telemetry is
      disabled, which is very slow and can cause noticeable lag during playback.
  4. 18 Jun, 2020 2 commits
  5. 25 Feb, 2020 7 commits
  6. 14 Feb, 2020 1 commit
  7. 23 Oct, 2017 5 commits
  8. 20 Jul, 2017 1 commit
  9. 19 Jul, 2017 2 commits
  10. 05 Jun, 2017 1 commit
  11. 28 Nov, 2016 1 commit
    • Ralph Giles's avatar
      Initialize global pointers in examples. · 91203fdf
      Ralph Giles authored
      Global pointers are initialized to zero in C, but not in C++.
      Add an explicit initializer to reduce confusion and avoid
      bugs when the example code is copied into C++ applications.
      Based on a patch by Alex Houghton <houghton1411@aol.com>.
  12. 23 Sep, 2016 2 commits
    • Timothy B. Terriberry's avatar
      Fix linking with musl libc with asm enabled. · 4bd78cd7
      Timothy B. Terriberry authored
      We made sure to emit emms before potentially calling/returning to
       applicate code, but not before calling libc code.
      It turns out musl libc's malloc/free implementation use floating
       point, so they don't work correctly unless we do.
      Add some extra calls to make sure the FPU is in the proper state
       any place we might potentially call malloc or free.
      Thanks to Rune (ztsdztsd on Trac) for the report.
      Fixes #2287
    • Timothy B. Terriberry's avatar
      Fix some broken clamping in rate control. · eac29ae2
      Timothy B. Terriberry authored
      If we have some dupe frames right near the end of the buffer, our
       metric window can be slightly larger than the buffer.
      However, the clamping we use to determine how many frames' worth of
       metrics to add to the buffer had a mix of signed and unsigned
       types, so if that number when negative, instead of clamping
       against zero, it would ask for all remaining frames in the file.
      That would cause an infinite loop when we tried to find the last
       keyframe in the circular buffer in oc_enc_select_qi() (which was
       not big enough to actually hold that many frames).
      This patch changes the clamp to a form that works with all unsigned
      Thanks to Brion Vibber for the report.
      Fixes #2229
      Forward-port of r19507 from svn.
  13. 27 Jul, 2016 2 commits
    • Timothy B. Terriberry's avatar
      Sanity improvements to oc_dec_headerin() error returns. · 50fd339b
      Timothy B. Terriberry authored
      In the case where we got a data packet before receiving all three
       headers, the old code would check to see if the second through
       seventh bytes matched the magic string "theora" (extremely
       unlikely, but possible), and if so, return TH_EBADHEADER, otherwise
       return TH_ENOTFORMAT.
      That this was not consistent was a bit non-sensical.
      5a5f5bb2 changed to returning TH_EBADHEADER if we got a data
       packet after receiving the first header, but left the old behavior
       for the first packet.
      Change instead to explicitly return TH_ENOTFORMAT if the first
       header was missing (since we only check one bit of the packet to
       determine whether or not it's a data packet, odds are it's a packet
       for some other kind of data, like a Vorbis header).
      We continue to return TH_EBADHEADER if we see a data packet after
       encountering a valid header, but before reading all three.
      Also re-arrange the NULL checks to follow continue to allow the
       undocumented ability to pass in NULL for parameters which are not
       needed by the next header in the sequence.
      E.g., it's perfectly all right to pass NULL for _setup when
       expecting to read the comment header next.
      In this case we'll now return TH_EBADHEADER instead of TH_EFAULT if
       the packet was actually a data packet.
    • Timothy B. Terriberry's avatar
      NULL check _tc and _setup even for data packets. · 5a5f5bb2
      Timothy B. Terriberry authored
      Our documentation says we will, so we should.
      Thanks to Chris Peterson for the report.
      Fixes #2279.
  14. 25 May, 2016 2 commits
  15. 27 Aug, 2015 1 commit
    • Ralph Giles's avatar
      Use the float latex package in the spec. · fbb27580
      Ralph Giles authored
      Newer texlive distributions require \usepackage{float} for
      the [H] figure layout directive. We use this to make sure
      the header layout figures are at the top of their respective
      sections for conventional reference like in an RFC, so requiring
      the additional package is safer than falling back to standard
      latex [h] or [!h].
      Note that [H] from the float package is incompatible with
      fallback specifiers.
      The configure script will automatically check for the new package.
  16. 31 Oct, 2014 1 commit
    • Timothy B. Terriberry's avatar
      Fix mismatched oc_mb_fill_cmapping11 signature. · 12f20c7a
      Timothy B. Terriberry authored
      oc_mb_fill_cmapping11() was defined without the last two parameters
       of its fellow mapping functions, meaning it got called with extra
       undeclared parameters.
      This could confuse the emscripten JavaScript cross-compiler's asm.js
       optimizations, as it's very picky about function signatures.
      Fixes #2068.
      Patch by Brion Vibber <brion@pobox.com>.
      svn path=/trunk/theora/; revision=19261
  17. 23 Jul, 2014 3 commits
  18. 10 Jun, 2014 1 commit
  19. 04 Apr, 2014 1 commit
  20. 17 Feb, 2014 1 commit
  21. 11 Feb, 2014 2 commits