1. 11 Dec, 2012 1 commit
  2. 10 Dec, 2012 2 commits
  3. 05 Dec, 2012 1 commit
  4. 07 Nov, 2012 3 commits
  5. 06 Nov, 2012 2 commits
  6. 05 Nov, 2012 3 commits
  7. 02 Nov, 2012 1 commit
  8. 13 Sep, 2012 1 commit
  9. 21 Aug, 2012 1 commit
    • Yunqing Wang's avatar
      Fix inter_zz_count calculation bug · 8ee88da0
      Yunqing Wang authored
      The current way of counting inter_zz_count doesn't work correctly
      in multi-threaded encoding. Calculating it after the frame is
      encoded fixed the problem.
      
      Change-Id: Ifcb1972cde950b8cc194f75c6d7b6af09e8b0e65
      8ee88da0
  10. 20 Aug, 2012 1 commit
  11. 27 Jul, 2012 1 commit
    • Attila Nagy's avatar
      Optimizes updates of encoder block ptrs · e66e9ddf
      Attila Nagy authored
      Precalculated block ptrs do not need updates during encoding.
      Set these at init stage.
      
      Moved the allocation of 'mt_current_mb_col' (last encoded MB on each
      row) to vp8_alloc_compressor_data(), so that it is correctly
      reallocated when frame size is changing.
      
      Change-Id: Idcdaa2d0cf3a7f782b7d888626b7cf22a4ffb5c1
      e66e9ddf
  12. 20 Jun, 2012 1 commit
    • Paul Wilkins's avatar
      Fix segmentation updates with vp8_set_roimap() · 7c32cb52
      Paul Wilkins authored
      Changes relating to Issue 411
      
      Removed code that was clearing down the segmentation data each
      frame.
      
      Added range/parameter checking in vp8_set_roimap(); Return error
      if called when cyclic_refresh is enabled.
      
      Correct setup_features() so that it sets or clears the segment update
      flags as appropriate.
      
      Change-Id: Ib31ac53006640ddf1ba7b9ec8f8b952e3eff860a
      7c32cb52
  13. 11 Jun, 2012 1 commit
    • John Koleszar's avatar
      Fix pedantic compiler warnings · 0164a1cc
      John Koleszar authored
      Allows building the library with the gcc -pedantic option, for improved
      portabilty. In particular, this commit removes usage of C99/C++ style
      single-line comments and dynamic struct initializers. This is a
      continuation of the work done in commit 97b766a4, which removed most
      of these warnings for decode only builds.
      
      Change-Id: Id453d9c1d9f44cc0381b10c3869fabb0184d5966
      0164a1cc
  14. 04 Jun, 2012 1 commit
    • Johann's avatar
      Remove extra enum · 965d8686
      Johann authored
      VP8_REFFRAME is the same as vpx_ref_frame_type
      
      Change-Id: I63c2ddfb39f6ec87d1e5eb6a8852846464552b1b
      965d8686
  15. 30 May, 2012 1 commit
    • Jim Bankoski's avatar
      fix denoiser for temporal patterns and rd · f78e5a04
      Jim Bankoski authored
      This extends the denoiser to work for temporally scalable
      coding.
      
      I believe this also fixes a very rare but really bad bug in the original
      implementation.
      
      Change-Id: I8b3593a8c54b86eb76f785af1970935f7d56262a
      f78e5a04
  16. 24 May, 2012 1 commit
    • Jim Bankoski's avatar
      fix denoiser for temporal patterns and rd · 57faddb7
      Jim Bankoski authored
      This extends the denoiser to work for temporally scalable
      coding.
      
      I believe this also fixes a very rare but really bad bug in the original
      implementation.
      
      
      Change-Id: I8b3593a8c54b86eb76f785af1970935f7d56262a
      57faddb7
  17. 04 May, 2012 3 commits
    • John Koleszar's avatar
      Formalize encodeframe.c forward delclarations · 22f56b93
      John Koleszar authored
      Change If4321cc5 fixed a bug caused by forward declarations not being
      kept in sync across C files, resulting in a function call with the
      wrong arguments. The commit moves the affected function declarations
      into a header file, along with the other symbols from encodeframe.c
      that were being sloppily shared.
      
      Change-Id: I76a7b4c66d4fe175f9cbef7e52148655e4bb9ba1
      22f56b93
    • Attila Nagy's avatar
      Fix multi-resolution threaded encoding · 3e32105d
      Attila Nagy authored
      mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in
      threaded encoding.
      
      Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
      3e32105d
    • Attila Nagy's avatar
      Fix multi-resolution threaded encoding · 357800e7
      Attila Nagy authored
      mb_row and mb_col was not passed to vp8cx_encode_inter_macroblock in
      threaded encoding.
      
      Change-Id: If4321cc59bf91e991aa31e772f882ed5f2bbb201
      357800e7
  18. 23 Apr, 2012 1 commit
  19. 13 Mar, 2012 1 commit
  20. 29 Feb, 2012 1 commit
    • Attila Nagy's avatar
      Packing bitstream on-the-fly with delayed context updates · 52cf4dca
      Attila Nagy authored
      Produce the token partitions on-the-fly, while processing each MB.
      Context is updated at the beginning of each frame based on the
      previoud frame's counters. Optimally encoder outputs partitions in
      separate buffers. For frame based output, partitions are concatenated
      internally.
      
      Limitations:
          - enabled just in combination with realtime-only mode
          - number of encoding threads has to be equal or less than the
          number of token partitions. For this reason, by default the encoder
          will do 8 token partitions.
          - vpxenc supports partition output (-P) just in combination with
          IVF output format (--ivf)
      
      Performance:
          - Realtime encoder can be up to 13% faster (ARM) depending on the number
          of threads and bitrate settings. Constant gain over the 5-16 speed
          range.
          - Token buffer reduced from one frame to 8 MBs
      
      Quality:
          - quality is affected by the delayed context updates. This again
          dependents on input material, speed and bitrate settings. For VC
          style input the loss seen is up to 0.2dB. If error-resilient=2
          mode is used than the effect of this change is negligible.
      
      Example:
      ./configure --enable-realtime-only --enable-onthefly-bitpacking
      ./vpxenc --rt --end-usage=1 --fps=30000/1000 -w 640 -h 480
      --target-bitrate=1000 --token-parts=3 --static-thresh=2000
      --ivf -P -t 4 -o strm.ivf tanya_640x480.yuv
      
      Change-Id: I127295cb85b835fc287e1c0201a67e378d025d76
      52cf4dca
  21. 17 Feb, 2012 2 commits
    • Attila Nagy's avatar
      Update encoder mb_skip_coeff and prob_skip_false calculation · ce42e79a
      Attila Nagy authored
      mode_info_context->mbmi.mb_skip_coeff has to always reflect the
      existence or not of coeffs for a certain MB. The loopfilter needs this
      info.
      mb_skip_coeff is either set by the vp8_tokenize_mb or has to be set to
      1 when the MB is skipped by mode selection. This has to be done
      regardless of the mb_no_coeff_skip value.
      
      prob_skip_false is needed just when mb_no_coeff_skip is 1. No need to
      keep count of both skip_false and skip_true as they are complementary
      (skip_true+skip_false = total_mbs)
      
      Change-Id: I3c74c9a0ee37bec10de7bb796e408f3e77006813
      ce42e79a
    • Attila Nagy's avatar
      Remove redundant init of segment_counts in vp8_encode_frame · 565d0e6f
      Attila Nagy authored
      segment_counts was zero init twice in the beginning of vp8_encode_frame.
      
      Change-Id: Ibc29f6896dabd9aab1d0993f3941cf6876022e70
      565d0e6f
  22. 02 Feb, 2012 3 commits
  23. 30 Jan, 2012 6 commits
    • John Koleszar's avatar
      RTCD: add arnr functions · 109b69a7
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system. It removes the last of the VP8_ENCODER_RTCD struct references.
      
      Change-Id: I2a44f52d7cccf5177e1ca98a028ead570d045395
      109b69a7
    • John Koleszar's avatar
      RTCD: add quantizer functions · 61311e61
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Iba9df4c03a508e51c37201c621be43523fae87d9
      61311e61
    • John Koleszar's avatar
      RTCD: add variance functions · 83a91e78
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Ie5c1aa480637e98dc3918fb562ff45c37a66c538
      83a91e78
    • John Koleszar's avatar
      RTCD: add subpixel functions · f103dcef
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I6c519ab61e4f4e0ebcc796f2df061f945c48cefe
      f103dcef
    • John Koleszar's avatar
      RTCD: add recon functions · fdb61a45
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I9bfcf9bef65c3d4ba0fb9a3e1532bad1463a10d6
      fdb61a45
    • John Koleszar's avatar
      New RTCD implementation · a910049a
      John Koleszar authored
      This is a proof of concept RTCD implementation to replace the current
      system of nested includes, prototypes, INVOKE macros, etc. Currently
      only the decoder specific functions are implemented in the new system.
      Additional functions will be added in subsequent commits.
      
      Overview:
        RTCD "functions" are implemented as either a global function pointer
        or a macro (when only one eligible specialization available).
        Functions which have RTCD specializations are listed using a simple
        DSL identifying the function's base name, its prototype, and the
        architecture extensions that specializations are available for.
      
      Advantages over the old system:
        - No INVOKE macros. A call to an RTCD function looks like an ordinary
          function call.
        - No need to pass vtables around.
        - If there is only one eligible function to call, the function is
          called directly, rather than indirecting through a function pointer.
        - Supports the notion of "required" extensions, so in combination with
          the above, on x86_64 if the best function available is sse2 or lower
          it will be called directly, since all x86_64 platforms implement
          sse2.
        - Elides all references to functions which will never be called, which
          could reduce binary size. For example if sse2 is required and there
          are both mmx and sse2 implementations of a certain function, the
          code will have no link time references to the mmx code.
        - Significantly easier to add a new function, just one file to edit.
      
      Disadvantages:
        - Requires global writable data (though this is not a new requirement)
        - 1 new generated source file.
      
      Change-Id: Iae6edab65315f79c168485c96872641c5aa09d55
      a910049a
  24. 06 Jan, 2012 1 commit