Skip to content
Snippets Groups Projects
  1. Mar 09, 2025
  2. Mar 07, 2025
    • Petter Reinholdtsen's avatar
      Use consistent declaration of oc_state_loop_filter_frag_rows_c(). · 46df56a5
      Petter Reinholdtsen authored
      The header used signed char _bf[256], make sure the method uses the
      same.  Adjust pointer arithmetic to use array notation to make operation
      explicit.
      
      Avoid the following compiler message:
      
      ../../lib/state.c:1056:15: warning: argument 2 of type 'signed char *' declared as a pointer [-Warray-parameter=]
       1056 |  signed char *_bv,int _refi,int _pli,int _fragy0,int _fragy_end){
            |  ~~~~~~~~~~~~~^~~
      In file included from ../../lib/state.c:20:
      ../../lib/state.h:526:14: note: previously declared as an array 'signed char[256]'
        526 |  signed char _bv[256],int _refi,int _pli,int _fragy0,int _fragy_end);
            |  ~~~~~~~~~~~~^~~~~~~~
      46df56a5
  3. Oct 31, 2014
    • 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
      12f20c7a
  4. Jan 08, 2013
    • Timothy B. Terriberry's avatar
      Include zlib.h when necessary. · d0c140ab
      Timothy B. Terriberry authored
      Newer versions of png.h don't include it for us.
      This is only needed when compiling with OC_DUMP_IMAGES (i.e., for
       debugging).
      
      svn path=/trunk/theora/; revision=18760
      d0c140ab
  5. Mar 02, 2012
    • Timothy B. Terriberry's avatar
      Remove some redundant NULL checks and fix a free on error return. · de386d3e
      Timothy B. Terriberry authored
      ref_frame_data was being allocated with the aligned allocator, but
       freed with the normal _ogg_free() function on failure, which
       doesn't work.
      This would only cause a problem if there was just enough memory to
       satisfy the reference frame allocation (just over 4.5 or 9 bytes
       per pixel) but not enough for the fragment buffer offets (1/16 or
       1/8th byte per pixel).
      
      svn path=/trunk/theora/; revision=18219
      de386d3e
  6. Dec 16, 2010
    • Ralph Giles's avatar
      Reject th_info structs with a zero in the frame rate rational. · ef3c399f
      Ralph Giles authored
      The specification says that the frame rate numerator and
      denominator MUST both be greater than zero. This wasn't
      checked as part of the structure validation code, and in
      fact passing a zero value here caused a segfault.
      
      The code now checks for this in oc_state_init() and returns
      TH_EINVAL, which is causes th_encode_alloc() and oc_decode_alloc()
      to return NULL.
      
      A check for that NULL return is also added to encoder_example.c
      to show that it may fail when an invalid th_info parameter is
      passed.
      
      svn path=/trunk/theora/; revision=17760
      ef3c399f
  7. Oct 29, 2010
    • Timothy B. Terriberry's avatar
      Warning fixes. · 49fdd41b
      Timothy B. Terriberry authored
      Signed/unsigned comparison and integer conversion overflow.
      
      svn path=/trunk/theora/; revision=17576
      49fdd41b
  8. Oct 25, 2010
    • Timothy B. Terriberry's avatar
      Ensure frame rows are 16-byte aligned. · 0f03ad95
      Timothy B. Terriberry authored
      We don't actually use this for anything yet, but it may help calling
       applications (e.g., doing software YUV2RGB conversion).
      Also, change ref_frame_data to point directly to the desired reference frame,
       rather than require a lookup through ref_frame_idx first.
      This saves an indirection and gives a 0.7% speed-up at 720p on a Cortex A8.
      It should have an even bigger benefit on C64x, though it wasn't benchmarked
       there.
      
      svn path=/trunk/theora/; revision=17563
      0f03ad95
  9. Oct 12, 2010
  10. Sep 24, 2010
    • Timothy B. Terriberry's avatar
      Cache the reference frame associated with the current MB mode in each fragment. · 13fc2d6f
      Timothy B. Terriberry authored
      This avoids repeatedly performing the MB mode -> reference frame translation,
       which is done many times per fragment during DC prediction.
      In fact, by using a special OC_FRAME_NONE tag for uncoded fragments, one need
       not even check to see if a fragment is coded during DC prediction, simplifying
       it even more.
      This saves 2% on 720p decode on a Cortex A8.
      
      svn path=/trunk/theora/; revision=17457
      13fc2d6f
  11. Sep 23, 2010
Loading