1. 12 Aug, 2011 1 commit
  2. 13 Jul, 2011 1 commit
  3. 13 Jun, 2011 1 commit
    • Scott LaVarnway's avatar
      Populate bmi for B_PRED only · 223d1b54
      Scott LaVarnway authored
      Small decode performance gain (~1%) on keyframes.  No
      noticeable gains on encode.  Also changed pick_intra4x4mby_modes()
      to read the above and left block modes for keyframes only.
      
      Change-Id: I1f4885252f5b3e9caf04d4e01e643960f910aba5
      223d1b54
  4. 03 Jun, 2011 1 commit
  5. 02 Jun, 2011 1 commit
    • Scott LaVarnway's avatar
      Removed B_MODE_INFO · 773768ae
      Scott LaVarnway authored
      Declared the bmi in BLOCKD as a union instead of B_MODE_INFO.
      Then removed B_MODE_INFO completely.
      
      Change-Id: Ieb7469899e265892c66f7aeac87b7f2bf38e7a67
      773768ae
  6. 24 May, 2011 3 commits
    • Scott LaVarnway's avatar
      Use int_mv instead of MV in vp8_mv_cont · a39321f3
      Scott LaVarnway authored
      Less operations.
      
      Change-Id: Ibb9cd5ae66b8c7c681c9a654d551c8729c31c3ae
      a39321f3
    • Scott LaVarnway's avatar
      Removed unused variable warnings · cfab2cae
      Scott LaVarnway authored
      Change-Id: I6e5e921f03dc15a72da89a457848d519647677a3
      cfab2cae
    • Scott LaVarnway's avatar
      MODE_INFO size reduction · e11f21af
      Scott LaVarnway authored
      Declared the bmi in MODE_INFO as a union instead of B_MODE_INFO.
      This reduced the memory footprint by 518,400 bytes for 1080
      resolutions.  The decoder performance improved by ~4% for the
      clip used and the encoder showed very small improvements. (0.5%)
      This reduction was first mentioned to me by John K. and in a
      later discussion by Yaowu.
      This is WIP.
      
      Change-Id: I8e175fdbc46d28c35277302a04bee4540efc8d29
      e11f21af
  7. 19 May, 2011 1 commit
    • Stefan Holmer's avatar
      Adding error-concealment to the decoder. · d04f8523
      Stefan Holmer authored
      The error-concealer is plugged in after any motion vectors have been
      decoded. It tries to estimate any missing motion vectors from the
      motion vectors of the previous frame. Intra blocks with missing
      residual are replaced with inter blocks with estimated motion vectors.
      
      This feature was developed in a separate sandbox
      (sandbox/holmer/error-concealment).
      
      Change-Id: I5c8917b031078d79dbafd90f6006680e84a23412
      d04f8523
  8. 12 May, 2011 1 commit
    • Scott LaVarnway's avatar
      Using int_mv instead of MV · 6b25501b
      Scott LaVarnway authored
      The compiler produces better assembly when using int_mv
      for assignments.  The compiler shifts and ors the two 16bit
      values when assigning MV.
      
      Change-Id: I52ce4bc2bfbfaf3f1151204b2f21e1e0654f960f
      6b25501b
  9. 18 Mar, 2011 1 commit
    • John Koleszar's avatar
      Increase static linkage, remove unused functions · 429dc676
      John Koleszar authored
      A large number of functions were defined with external linkage, even
      though they were only used from within one file. This patch changes
      their linkage to static and removes the vp8_ prefix from their names,
      which should make it more obvious to the reader that the function is
      contained within the current translation unit. Functions that were
      not referenced were removed.
      
      These symbols were identified by:
      
        $ nm -A libvpx.a | sort -k3 | uniq -c -f2 | grep ' [A-Z] ' \
          | sort | grep '^ *1 '
      
      Change-Id: I59609f58ab65312012c047036ae1e0634f795779
      429dc676
  10. 10 Feb, 2011 1 commit
    • John Koleszar's avatar
      Fix relative include paths · 02321de0
      John Koleszar authored
      Allow compiling without adding vp8/{common,encoder,decoder} to the
      include paths.
      
      Change-Id: Ifeb5dac351cdfadcd659736f5158b315a0030b6c
      02321de0
  11. 28 Oct, 2010 2 commits
    • Timothy B. Terriberry's avatar
      Eliminate more warnings. · 97b766a4
      Timothy B. Terriberry authored
      This eliminates a large set of warnings exposed by the Mozilla build
       system (Use of C++ comments in ISO C90 source, commas at the end of
       enum lists, a couple incomplete initializers, and signed/unsigned
       comparisons).
      It also eliminates many (but not all) of the warnings expose by newer
       GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite
       without checking the return values).
      There are a few spurious warnings left on my system:
      
      ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used
       uninitialized in this function
      gcc seems to be unable to figure out that the value shortcut doesn't
       change between the two if blocks that test it here.
      
      ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned
       expression >= 0 is always true
      ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned
       expression >= 0 is always true
      This is true, so far as it goes, but it's comparing against an enum,
       and the C standard does not mandate that enums be unsigned, so the
       checks can't be removed.
      
      Change-Id: Iead6cd561a2afaa3d801fd63f1d8d58953da7426
      97b766a4
    • Timothy B. Terriberry's avatar
      Eliminate more warnings. · c4d7e5e6
      Timothy B. Terriberry authored
      This eliminates a large set of warnings exposed by the Mozilla build
       system (Use of C++ comments in ISO C90 source, commas at the end of
       enum lists, a couple incomplete initializers, and signed/unsigned
       comparisons).
      It also eliminates many (but not all) of the warnings expose by newer
       GCC versions and _FORTIFY_SOURCE (e.g., calling fread and fwrite
       without checking the return values).
      There are a few spurious warnings left on my system:
      
      ../vp8/encoder/encodemb.c:274:9: warning: 'sz' may be used
       uninitialized in this function
      gcc seems to be unable to figure out that the value shortcut doesn't
       change between the two if blocks that test it here.
      
      ../vp8/encoder/onyx_if.c:5314:5: warning: comparison of unsigned
       expression >= 0 is always true
      ../vp8/encoder/onyx_if.c:5319:5: warning: comparison of unsigned
       expression >= 0 is always true
      This is true, so far as it goes, but it's comparing against an enum, and the C
       standard does not mandate that enums be unsigned, so the checks can't be
       removed.
      
      Change-Id: Iaf689ae3e3d0ddc5ade00faa474debe73b8d3395
      c4d7e5e6
  12. 21 Sep, 2010 2 commits
    • John Koleszar's avatar
      unset execute bit on c source · cdd20666
      John Koleszar authored
      Change-Id: I6625ee41f8872908cb015ce0729e1c7a105b5217
      cdd20666
    • John Koleszar's avatar
      Don't reset mb clamping state during splitmv decoding · 4d391e8e
      John Koleszar authored
      The MV decoding changes in c5fb0eb8 introduced a bug where the
      macroblock clamping state was reset for each partition, so if an
      earlier partition needed clamping but a subsequent one didn't,
      the MB wouldn't receive clamping. Instead, the state is only
      set during splitmv decoding, never cleared.
      
      Change-Id: I224fe258493405ee0f6a04596acdb622c475e845
      4d391e8e
  13. 09 Sep, 2010 2 commits
    • Scott LaVarnway's avatar
      Improved subset block search · c5fb0eb8
      Scott LaVarnway authored
      Improved the subset block search and fill.  (about 3% improvement for
      32 bit)  Modified/merged the code in order to create
      vp8_read_mb_modes_mv which can decode the modes/mvs on a macroblock
      level. This will allow the decode loop (in the future) to decode
      modes/mvs on a frame, row, or mb level.
      
      Change-Id: If637d994b508792f846d39b5d44a7bf9aa5cddf3
      c5fb0eb8
    • John Koleszar's avatar
      Use WebM in copyright notice for consistency · c2140b8a
      John Koleszar authored
      Changes 'The VP8 project' to 'The WebM project', for consistency
      with other webmproject.org repositories.
      
      Fixes issue #97.
      
      Change-Id: I37c13ed5fbdb9d334ceef71c6350e9febed9bbba
      c2140b8a
  14. 03 Sep, 2010 1 commit
    • Scott LaVarnway's avatar
      Reduced the size of MB_MODE_INFO · 0de458f6
      Scott LaVarnway authored
      Moved partition_bmi and partition_count out of MB_MODE_INFO and
      placed into MACROBLOCK.  Also reduced the size of other members
      of the MB_MODE_INFO struct.  For 1080p, the memory was reduced
      by 1,209,516 bytes.  The decoder performance appeared to improve
      by 3% for the clip used.
      Note:  The main goal for this change is to improve the decoder
      performance.  The encoder will be revisited at a later date for
      further structure cleanup.
      
      Change-Id: I4733621292ee9cc3fffa4046cb3fd4d99bd14613
      0de458f6
  15. 12 Jul, 2010 1 commit
  16. 18 Jun, 2010 1 commit
    • John Koleszar's avatar
      cosmetics: trim trailing whitespace · 94c52e4d
      John Koleszar authored
      When the license headers were updated, they accidentally contained
      trailing whitespace, so unfortunately we have to touch all the files
      again.
      
      Change-Id: I236c05fade06589e417179c0444cb39b09e4200d
      94c52e4d
  17. 16 Jun, 2010 1 commit
    • Timothy B. Terriberry's avatar
      Change bitreader to use a larger window. · c17b62e1
      Timothy B. Terriberry authored
      Change bitreading functions to use a larger window which is refilled less
       often.
      
      This makes it cheap enough to do bounds checking each time the window is
       refilled, which avoids the need to copy the input into a large circular
       buffer.
      This uses less memory and speeds up the total decode time by 1.6% on an ARM11,
       2.8% on a Cortex A8, and 2.2% on x86-32, but less than 1% on x86-64.
      
      Inlining vp8dx_bool_decoder_fill() has a big penalty on x86-32, as does moving
       the refill loop to the front of vp8dx_decode_bool().
      However, having the refill loop between computation of the split values and
       the branch in vp8_decode_mb_tokens() is a big win on ARM (presumably due to
       memory latency and code size: refilling after normalization duplicates the
       code in the DECODE_AND_BRANCH_IF_ZERO and DECODE_AND_LOOP_IF_ZERO cases.
      Unfortunately, refilling at the end of vp8dx_bool_decoder_fill() and at the
       beginning of each decode step in vp8_decode_mb_tokens() means the latter
       requires an extra refill at the end.
      Platform-specific versions could avoid the problem, but would require most of
       detokenize.c to be duplicated.
      
      Change-Id: I16c782a63376f2a15b78f8086d899b987204c1c7
      c17b62e1
  18. 09 Jun, 2010 1 commit
    • John Koleszar's avatar
      Remove secondary mv clamping from decode stage · 3085025f
      John Koleszar authored
      This patch removes the secondary MV clamping from the MV decoder. This
      behavior was consistent with limits placed on non-split MVs by the
      reference encoder, but was inconsistent with the MVs generated in the
      split case.
      
      The purpose of this secondary clamping was only to prevent crashes on
      invalid data. It was not intended to be a behaviour an encoder could or
      should rely on. Instead of doing additional clamping in a way that
      changes the entropy context, the secondary clamp is removed and the
      border handling is made implmentation specific. With respect to the
      spec, the border is treated as essentially infinite, limited only by
      the clamping performed on the near/nearest reference and the maximum
      encodable magnitude of the residual MV.
      
      This does not affect any currently produced streams.
      
      Change-Id: I68d35a2fbb51570d6569eab4ad233961405230a3
      3085025f
  19. 04 Jun, 2010 1 commit
  20. 18 May, 2010 1 commit