1. 24 May, 2012 1 commit
    • Alpha Lam's avatar
      Make libvpx Chromium build friendly · 0f7e4665
      Alpha Lam authored
      Add PRIVATE macro for adding private_extern directive for yasm
      to hide global symbols. This is only enabled if -DCHROMIUM is used
      with YASM.
      
      Also fixed a small problem with	rtcd_defs.sh to guard TEMPORAL_DENOISING.
      
      Change-Id: I9027fce3ebddcf20078293e4b86b396f21da7857
      0f7e4665
  2. 23 May, 2012 1 commit
    • Attila Nagy's avatar
      Fix another multithreaded encoder loopfilter race condition · ea392d47
      Attila Nagy authored
      After a key frame encoding, the frame type could change while
      filtering is still going on. Pass the frame type as parameter to the
      loopfilter function and don't read it from common storage.
      
      vp8cx_set_alt_lf_level has to be done before packing the stream.
      Currently alt_lf_level is not used so there hasn't been any visible
      problem here.
      
      Change-Id: Ia114162158cd833c2b16e3b89303cc9c91f19165
      ea392d47
  3. 22 May, 2012 2 commits
    • John Koleszar's avatar
      Move all tests to test/ directory · 2d225689
      John Koleszar authored
      Consolodate the unit tests under vp8/ to the test/ directory
      
      Change-Id: I6d6a0fb60f5e3874a4d6710e9e121dd3e81a93db
      2d225689
    • John Koleszar's avatar
      Build unit tests monolithically · e82d261d
      John Koleszar authored
      Rework unit tests  to have a single executable rather than many, which
      should avoid pollution of the visual studio project namespace, improve
      build times, and make it easier to use the gtest test sharding system
      when we get these going on the continuous build cluster.
      
      Change-Id: If4c3e5d4b3515522869de6c89455c2a64697cca6
      e82d261d
  4. 21 May, 2012 1 commit
  5. 16 May, 2012 1 commit
    • Yunqing Wang's avatar
      multi-res: force Key frame sychronization · 65dd157c
      Yunqing Wang authored
      In multi-resolution encoding, frame_type decision for each frame
      is made by the lowest-resolution encoder. For all other higher-
      resolution encoders, kf_mode is always set to VPX_KF_DISABLED,
      and they are forced to use the same frame_type picked by the
      lowest-resolution encoder.
      
      Change-Id: Ic4d52ec65bbc012ca9c2d236210e28a295591eaf
      65dd157c
  6. 11 May, 2012 1 commit
  7. 04 May, 2012 2 commits
    • John Koleszar's avatar
      fix vp8_ namespace issues · 14d827f4
      John Koleszar authored
      Make functions only referenced from one translation unit static. Other
      symbols with extern linkage get a vp8/vpx prefix.
      
      Change-Id: I928c7e0d0d36e89ac78cb54ff8bb28748727834f
      14d827f4
    • Attila Nagy's avatar
      Make global data const · f039a85f
      Attila Nagy authored
      Removes all runtime initialization of global data. This commit is a
      squashed version of the following series cherry-picked from master.
      This is necessary because of a change that was merged to the tester
      that depends on the scaler being moved to the RTCD framework, which
      is a worthwhile thing to include in Eider anyway.
      
        - a91b42f0 Makes all global data in entropy.c const
        - b35a0db0 Makes all global data in tokenize.c const
        - 441cac8e Makes all mode token tables const
        - 5948a021 Ports vpx_xcaler to new RTCD method
        - 317d4244 Makes all mode token tables const part 2
      
      Change-Id: Ifeaea24df2b731e7c509fa6c6ef6891a374afc26
      f039a85f
  8. 02 May, 2012 5 commits
    • John Koleszar's avatar
      Add VPX_TS_ prefix to MAX_LAYERS, MAX_PERIODICITY · d46ddd08
      John Koleszar authored
      Preserved the prior names for compatibility, will remove in the future.
      
      Change-Id: I8773f959ebce72f60168a2972f7a8ffe6642b9b2
      d46ddd08
    • Timothy B. Terriberry's avatar
      Fix TEXTRELs in the ARM asm. · e50c8427
      Timothy B. Terriberry authored
      Besides imposing a performance penalty at startup in most
       configurations, these relocations break the dynamic linker for
       native Fennec, since it does not support them at all.
      
      Change-Id: Id5dc768609354ebb4379966eb61a7313e6fd18de
      e50c8427
    • Timothy B. Terriberry's avatar
      Fix trailing commas in enums. · 22ae1403
      Timothy B. Terriberry authored
      These are warnings in most builds, but show up as compile errors on
       some platforms when these headers are included from C++ code.
      
      Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5
      22ae1403
    • Timothy B. Terriberry's avatar
      Fix trailing commas in enums. · 28f54515
      Timothy B. Terriberry authored
      These are warnings in most builds, but show up as compile errors on
       some platforms when these headers are included from C++ code.
      
      Change-Id: I6c523b4dbbc699075fe73830442b51922e5a61d5
      28f54515
    • Attila Nagy's avatar
      Fix compiler warnings · 14c9fce8
      Attila Nagy authored
      Fix code for following warnings:
      -Wimplicit-function-declaration
      -Wuninitialized
      -Wunused-but-set-variable
      -Wunused-variable
      
      Change-Id: I2be434f22fdecb903198e8b0711255b4c1a2947a
      14c9fce8
  9. 26 Apr, 2012 1 commit
    • Attila Nagy's avatar
      Moves error concealment allocations from common parts to decoder · 24e7b1b9
      Attila Nagy authored
      The backup MODE_INFO buffer used in the error concealment was
      allocated in the codec common parts allocation even though this is a
      decoder only resource. Moved the allocation to the decoder side.
      No need to update_mode_info_border as mode_info buffers are zero
      allocated.
      
      This fixes also a potential memory leak as the EC overlaps buffer was not
      properly released before reallocation after a frame size change.
      
      Change-Id: I12803d3e012308d95669069980b1c95973fb775f
      24e7b1b9
  10. 23 Apr, 2012 2 commits
  11. 19 Apr, 2012 4 commits
    • Scott LaVarnway's avatar
      Makes all mode token tables const part 2 · 317d4244
      Scott LaVarnway authored
      (see Change I9b2ccc88: Makes all mode token tables const)
      Further remove runtime table initialization and use
      precalculated const data.  Data footprint reduced
      by 4112 bytes.
      
      Change-Id: Ia3ae9fc19f77316b045cabff01f6e5f0876a86ab
      317d4244
    • John Koleszar's avatar
      rtcd: serialize function pointer initialization · c311b3b3
      John Koleszar authored
      Ensure that RTCD function pointers are set at most once, to silence
      some data race warnings. Implementation provided for POSIX threads and
      Win32, with the prior unsynchronized behavior left in place for other
      platforms.
      
      Change-Id: I65c5856df43ef67043b3d5f26ddafddd8fcb2f7e
      c311b3b3
    • Attila Nagy's avatar
      Ports vpx_xcaler to new RTCD method · 5948a021
      Attila Nagy authored
      We can get rid of all remaining global initializers now:
       vp8_scale_machine_specific_config()
       vp8_initialize()
       vp8dx_initialize()
      
      Change-Id: I2825cea5d1c01ad9f6c45df49a0f86d803bfeb69
      5948a021
    • Attila Nagy's avatar
      Makes all mode token tables const · 441cac8e
      Attila Nagy authored
      Mode token tabels precalculated in entropymode.c.
      Removes vp8_initialize_common()as all common global data
      is precalculated const now.
      
      Change-Id: I9b2ccc883e4f618069e1bc180dad3a823394eb73
      441cac8e
  12. 17 Apr, 2012 1 commit
    • Attila Nagy's avatar
      Makes all global data in entropy.c const · a91b42f0
      Attila Nagy authored
      Removes all runtime initialization of global data in entropy.c.
      Precalculated values are used for initializing all entropy related
      tabels.
      
      First patch in a series to make sure code is reentrant.
      
      Change-Id: I9aac91a2a26f96d73c6470d772a343df63bfe633
      a91b42f0
  13. 12 Apr, 2012 1 commit
    • Scott LaVarnway's avatar
      loopfilter improvements · e0a80519
      Scott LaVarnway authored
      Local variable offsets are now consistent for the functions,
      removed unused parameters, reworked the assembly to eliminate
      stalls/instructions.
      
      Change-Id: Iaa37668f8a9bb8754df435f6a51c3a08d547f879
      e0a80519
  14. 10 Apr, 2012 1 commit
    • Deb Mukherjee's avatar
      Fixes to disable MFQE when there is motion. · 6b33ca39
      Deb Mukherjee authored
      This patch includes:
      1. fixes to disable block based termporal mixing when motion
      is detected (because this version of mfqe only handles zero motion).
      2. The criterion used for determining whether to mix or
      not are changed to use squared differences rather than
      absolute differences.
      3. Additional checks on color mismatch and excessive block
      flatness added. If the block as decoded has very low activity
      it is unlikely to yield benefits for mixing.
      
      Change-Id: I07331e5ab5ba64844c56e84b1a4b7de823eac6cb
      6b33ca39
  15. 03 Apr, 2012 1 commit
    • John Koleszar's avatar
      MFQE: apply threshold to subblocks and chroma. · 8106df8f
      John Koleszar authored
      In cases where you have a flat background occluded by a moving object
      of similar luminosity in the foreground, it was likely that the
      foreground blocks would persist for a few frames after the background
      is uncovered. This is particularly noticable when the object has a
      different color than the background, so add the chroma planes in as an
      additional check.
      
      In addition, for block sizes of 8 and 16, the luma threshold is
      applied on four subblocks independently, which helps when only part of
      the background in the block has been uncovered.
      
      This fixes issue #392, which includes a test clip to reproduce the
      issue.
      
      BUG=392
      
      Change-Id: I2bd7b2b0e25e912dcac342e5ad6e8914f5afd302
      8106df8f
  16. 02 Apr, 2012 1 commit
    • Johann's avatar
      Move variance and SAD RTCD definitions · 21ac3c8f
      Johann authored
      When the functions were moved from encoder/ to common/ the RTCD file was
      not updated.
      
      Change-Id: I1c98715ed51adf1a95aa2492949d8552aec88d1f
      21ac3c8f
  17. 29 Mar, 2012 2 commits
    • Scott LaVarnway's avatar
      MB_MODE_INFO size reduction · 31322c5f
      Scott LaVarnway authored
      Reduced the size of the struct by 8 bytes, which would be
      a memory savings of 64800 bytes for 1080 resolutions.  Had
      an extra byte, so created an is_4x4 for B_PRED or SPLITMV
      modes.  This simplified the mode checks in
      vp8_reset_mb_tokens_context and vp8_decode_mb_tokens.
      
      Change-Id: Ibec27784139abdc34d4d01f73c09f43e9e10e0f5
      31322c5f
    • Scott LaVarnway's avatar
      Updated vp8_build_intra_predictors_mby_s(sse2/ssse3) · a3377256
      Scott LaVarnway authored
      to work with the latest code.
      
      Patch Set 2: aligned the above_row buffers to fix crash
      
      Change-Id: I7a6992a20ed079ccd302f8c26215cf3057f8b70c
      a3377256
  18. 26 Mar, 2012 2 commits
  19. 23 Mar, 2012 1 commit
  20. 22 Mar, 2012 1 commit
    • Deb Mukherjee's avatar
      Miscellaneous changes in mfqe and postproc modules · 66ba79f5
      Deb Mukherjee authored
      Adds logic to disable mfqe for the first frame after a configuration
      change such as change in resolution. Also adds some missing
      if CONFIG_POSTPROC macro checks.
      
      Change-Id: If29053dad50b676bd29189ab7f9fe250eb5d30b3
      66ba79f5
  21. 21 Mar, 2012 2 commits
  22. 13 Mar, 2012 1 commit
  23. 08 Mar, 2012 1 commit
    • Scott LaVarnway's avatar
      threading.c refactoring · 9ed87471
      Scott LaVarnway authored
      Added recon above/left to MACROBLOCKD
      Reworked decode_macroblock
      
      Change-Id: I9c26870af75797134f410acbd02942065b3495c1
      9ed87471
  24. 06 Mar, 2012 2 commits
    • Johann's avatar
      RFC: Reorganize MFQE loops · fd903902
      Johann authored
      Break MFQE code into it's own file.
      
      It is currently only valid for 16x16 and 8x8 Y blocks. It also filters
      4x4 U/V blocks.
      
      Refactor filtering and add associated assembly. Limited test cases show
      --mfqe introduces a penalty of ~20% with HD content. The assembly
      reduces the penalty to ~15%
      
      Change-Id: I4b8de6b5cdff5413037de5b6c42f437033ee55bf
      fd903902
    • Johann's avatar
      Move SAD and variance functions to common · e50f96a4
      Johann authored
      The MFQE function of the postprocessor depends on these
      
      Change-Id: I256a37c6de079fe92ce744b1f11e16526d06b50a
      e50f96a4
  25. 28 Feb, 2012 1 commit
    • Scott LaVarnway's avatar
      Eliminated reconintra_mt.c · bcba86e2
      Scott LaVarnway authored
      Reworked the code to use vp8_build_intra_predictors_mby_s,
      vp8_intra_prediction_down_copy, and vp8_intra4x4_predict_d_c
      functions instead.  vp8_intra4x4_predict_d_c is a decoder-only
      version of vp8_intra4x4_predict.  Future commits will fix this
      code duplication.
      
      Change-Id: Ifb4507103b7c83f8b94a872345191c49240154f5
      bcba86e2
  26. 21 Feb, 2012 1 commit