1. 24 Feb, 2011 1 commit
  2. 18 Feb, 2011 2 commits
  3. 17 Feb, 2011 1 commit
  4. 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
  5. 09 Feb, 2011 2 commits
    • Gaute Strokkenes's avatar
      Put more code under #if CONFIG_MULTITHREAD. · 315e3c25
      Gaute Strokkenes authored
      Change-Id: Icf4b692099d7d249fe3553852b1022b027b28e4b
      315e3c25
    • Tero Rintaluoma's avatar
      Adds armv6 optimized variance calculation · cb14764f
      Tero Rintaluoma authored
      Adds vp8_sub_pixel_variance16x16_armv6 function to encoder. Integrates
      ARMv6 optimized bilinear interpolations from vp8/common/arm/armv6
      and adds new assembly file for variance16x16 calculation.
       - vp8_filter_block2d_bil_first_pass_armv6   (integrated)
       - vp8_filter_block2d_bil_second_pass_armv6  (integrated)
       - vp8_variance16x16_armv6 (new)
       - bilinearfilter_arm.h (new)
      Change-Id: I18a8331ce7d031ceedd6cd415ecacb0c8f3392db
      cb14764f
  6. 08 Feb, 2011 2 commits
    • Johann's avatar
      clean up bilinear filter · e5aaac24
      Johann authored
      make reference version of bilinear_filters short.
      use reference versions of bilinear_filters and sub_pel_filters when
      possible.
      
      recognize that Width was being passed into
      filter_block2d_bil_first_pass multiple times. ARM version had already
      fixed this. propegate to C.
      
      change references to src_pixels_per_line to src_pitch and standardize on
      src/dst (instead of input/output).
      
      recognize that first_pass is only run in the verticle and second_pass
      only horizontal. ARM version had already fixed this. propegate to C
      
      Change-Id: I292d376d239a9a7ca37ec2bf03cc0720606983e2
      e5aaac24
    • Johann's avatar
      clarify *_offsets.asm differences · 40dcae9c
      Johann authored
      it's difficult to mux the *_offsets.c files because of header conflicts.
      make three instead, name them consistently and partititon the contents
      to allow building them as required.
      
      Change-Id: I8f9768c09279f934f44b6c5b0ec363f7943bb796
      40dcae9c
  7. 07 Feb, 2011 1 commit
    • Johann's avatar
      move one of the offset files · 3273c7b6
      Johann authored
      common/arm/vpx_asm_offsets moves up a level. prepare for muxing with
      encoder/arm/vpx_vp8_enc_asm_offsets
      
      Change-Id: I89a04a5235447e66571995c9d9b4b6edcb038e24
      3273c7b6
  8. 04 Feb, 2011 2 commits
  9. 03 Feb, 2011 1 commit
  10. 28 Jan, 2011 2 commits
    • Yunqing Wang's avatar
      Improve MV prediction in vp8_pick_inter_mode() for speed>3 · 7cbe684e
      Yunqing Wang authored
      Applied same method used in vp8_rd_pick_inter_mode() to improve
      the accuracy of MV prediction.
      
      Change-Id: Ia50ae26208b18482695601f32febd99fe89fbc17
      7cbe684e
    • Tero Rintaluoma's avatar
      Adds "armvX-none-rvct" targets · 11a222f5
      Tero Rintaluoma authored
      Adds following targets to configure script to support RVCT compilation
      without operating system support (for Profiler or bare metal images).
       - armv5te-none-rvct
       - armv6-none-rvct
       - armv7-none-rvct
      
      To strip OS specific parts from the code "os_support"-config was added
      to script and CONFIG_OS_SUPPORT flag is used in the code to exclude OS
      specific parts such as OS specific includes and function calls for
      timers and threads etc. This was done to enable RVCT compilation for
      profiling purposes or running the image on bare metal target with
      Lauterbach.
      
      Removed separate AREA directives for READONLY data in armv6 and neon
      assembly files to fix the RVCT compilation. Otherwise
      "ldr <reg>, =label" syntax would have been needed to prevent linker
      errors. This syntax is not supported by older gnu assemblers.
      
      Change-Id: I14f4c68529e8c27397502fbc3010a54e505ddb43
      11a222f5
  11. 26 Jan, 2011 1 commit
  12. 19 Jan, 2011 1 commit
    • Henrik Lundin's avatar
      Implement error tracking in the decoder · 67fb3a51
      Henrik Lundin authored
      A new vpx_codec_control called VP8D_GET_FRAME_CORRUPTED. The output
      from the function is non-zero if the last decoded frame contains
      corruption due to packet losses.
      
      The decoder is also modified to accept encoded frames of zero length.
      A zero length frame indicates to the decoder that one or more frames
      have been completely lost. This will mark the last decoded reference
      buffer as corrupted. The data pointer can be NULL if the length is
      zero.
      
      Change-Id: Ic5902c785a281c6e05329deea958554b7a6c75ce
      67fb3a51
  13. 11 Jan, 2011 1 commit
    • Henrik Lundin's avatar
      Remove unused local variables · 48c28fc4
      Henrik Lundin authored
      Removing unused local variables causing compiler warnings in
      Visual Studio.
      
      Change-Id: I0e2096303be1fdbc01428a6e57cca9796bb32c8a
      48c28fc4
  14. 07 Jan, 2011 1 commit
    • Paul Wilkins's avatar
      CQ Mode · e0846c9c
      Paul Wilkins authored
      The merge includes hooks to for CQ mode and other code
      changes merged from the test branch.
      
      CQ mode attempts to maintain a more stable quantizer within a clip
      whilst also trying to adhere to a guidline maximum bitrate.
      
      The existing target data rate parameter is used to specify the
      guideline maximum bitrate.
      
      A new parameter allows the user to specify a target CQ level.
      
      For normal (non kf/gf/arf) frames, the quantizer will not drop BELOW the
      user specified value (0-63). However, in some cases the encoder may
      choose to impose a target CQ that is above that specified by the user,
      if it estimates that consistent use of the target value is not compatible
      with guideline maximum bitrate.
      
      Change-Id: I2221f9eecae8cc3c431d36caf83503941b25e4c1
      e0846c9c
  15. 29 Dec, 2010 1 commit
    • Yunqing Wang's avatar
      Always update last_frame_type · a864678c
      Yunqing Wang authored
      Scott pointed out that last_frame_type only gets updated while
      loopfilter exists. Since last_frame_type is also needed in
      motion search now, it needs to be updated every frame.
      
      Change-Id: I9203532fd67361588d4024628d9ddb8e391ad912
      a864678c
  16. 17 Dec, 2010 1 commit
    • John Koleszar's avatar
      Add psnr/ssim tuning option · b0da9b39
      John Koleszar authored
      Add a new encoder control, VP8E_SET_TUNING, to allow the application
      to inform the encoder that the material will benefit from certain
      tuning. Expose this control as the --tune option to vpxenc. The args
      helper is expanded to support enumerated arguments by name or value.
      
      Two tunings are provided by this patch, PSNR (default) and SSIM.
      Activity masking is made dependent on setting --tune=ssim, as the
      current implementation hurts speed (10%) and PSNR (2.7% avg,
      10% peak) too much for it to be a default yet.
      
      Change-Id: I110d969381c4805347ff5a0ffaf1a14ca1965257
      b0da9b39
  17. 14 Dec, 2010 1 commit
    • Johann's avatar
      shrink TOKENEXTRA and vp8_extra_bit_struct · 825adc46
      Johann authored
      Per John's previous change, shrink TOKENEXTRA from 20 to 8 bytes
      original: b7b1e6fb
      reverted: 41f4458a
      
      Also drop unused field from vp8_extra_bit_struct
      
      Update ARM ASM to deal with this change. In particular, Extra is signed
      and needs to be sign-extended when loaded.
      
      Change-Id: Ibd0ddc058432bc7bb09222d6ce4ef77e93a30b41
      825adc46
  18. 13 Dec, 2010 1 commit
    • John Koleszar's avatar
      remove unused temporal preproc code · b1aa54ab
      John Koleszar authored
      This code is unused, as the current preproc implementation uses the
      same spatial filter that postproc uses.
      
      Change-Id: Ia06d5664917d67283f279e2480016bebed602ea7
      b1aa54ab
  19. 09 Dec, 2010 1 commit
  20. 16 Nov, 2010 1 commit
  21. 10 Nov, 2010 1 commit
    • Fritz Koenig's avatar
      postproc : Re-work posproc calling to allow more flags. · 647df00f
      Fritz Koenig authored
      Debugging in postproc needs more flags to allow for specific
      block types to be turned on or off in the visualizations.
      
      Must be enabled with --enable-postproc-visualizer during
      configuration time.
      
      Change-Id: Ia74f357ddc3ad4fb8082afd3a64f62384e4fcb2d
      647df00f
  22. 04 Nov, 2010 1 commit
    • Fritz Koenig's avatar
      postproc : Update visualizations. · 0e7b6061
      Fritz Koenig authored
      Change color reference frame to blend the macro block edge.
      This helps with layering of visualizations.
      
      Add block coloring for intra prediction modes.
      
      Change-Id: Icefe0e189e26719cd6937cebd6727efac0b4d278
      0e7b6061
  23. 02 Nov, 2010 1 commit
  24. 01 Nov, 2010 1 commit
  25. 28 Oct, 2010 3 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
    • Fritz Koenig's avatar
      postproc: Tweaks to line drawing and blending. · 6fda7668
      Fritz Koenig authored
      Turned down the blending level to make colored blocks obscure
      the video less.
      Not blending the entire block to give distinction to macro
      block edges.
      Added configuration so that macro block blending function can
      be optimized.
      Change to constrain line as to when dx and dy are computed.
      Now draw two lines to form an arrow.
      
      Change-Id: I986784e6abff65ea3e0d1437dfca7d06d44ede71
      6fda7668
    • 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
  26. 27 Oct, 2010 3 commits
    • Fritz Koenig's avatar
      postproc: Tweaks to line drawing and blending. · a097e189
      Fritz Koenig authored
      Turned down the blending level to make colored blocks obscure
      the video less.
      Not blending the entire block to give distinction to macro
      block edges.
      Added configuration so that macro block blending function can
      be optimized.
      Change to constrain line as to when dx and dy are computed.
      Now draw two lines to form an arrow.
      
      Change-Id: Id3ef0fdeeab2949a6664b2c63e2a3e1a89503f6c
      a097e189
    • Fritz Koenig's avatar
      vpxdec : Change --pp-debug-info to be a bit field. · cf127474
      Fritz Koenig authored
      This allows multiple post processor debug levels to be overlayed.
      i.e. can show colored reference blocks and visual motion vectors.
      
      Change-Id: Ic4a1df438445b9f5780fe73adb3126e803472e53
      cf127474
    • Johann's avatar
      RTCD build is bringing old errors to light · abcf36c7
      Johann authored
      needs to be _recon_ not _recon_recon_
      
      Change-Id: I7a8b9ddcb4fb72c2b723c563932c9ea52ff15982
      abcf36c7
  27. 26 Oct, 2010 4 commits
    • Fritz Koenig's avatar
      postproc: Add mode and refrence frame visualizers. · a0ccc97d
      Fritz Koenig authored
      Post process option to color the block for either the mode
      of the macro block, or the frame that the macro block references.
      
      Change-Id: Ie498175497f2d20e3319924d352dc4ddc16f4134
      a0ccc97d
    • John Koleszar's avatar
      make vp8_recon16x16mb{,y} RTCD functions · d6c67f02
      John Koleszar authored
      ARM NEON has a platform specific version of vp8_recon16x16mb, though
      it's just a stub to extract the various parameters from the
      MACROBLOCKD struct and pass them to vp8_recon16x16mb_neon(). Using
      that function's prototype directly will be a better long term solution,
      but it's quite an invasive change.
      
      Change-Id: I04273149e2ade34749e2d09e7edb0c396e1dd620
      d6c67f02
    • John Koleszar's avatar
      arm: move unrolled loops back to generic code · 19638c23
      John Koleszar authored
      Some of the ARM functions differed from their generic counterparts
      only by unrolling their loops. Since this change may be useful
      on other platforms, or might even supercede the looped version
      in the generic case, move it back to the generic file.
      
      This code is left under #if ARCH_ARM for now, but it may be worth
      considering a different (possibly new) conditional for these. If
      it turns out that this should be runtime selectable, these
      functions will have to move to the RTCD infrastructure. Don't want
      to take that step at this time without more profile data.
      
      Change-Id: I4612fdbc606fbebba4971a690fb743ad184ff15f
      19638c23
    • John Koleszar's avatar
      arm: remove duplicate functions · d330a587
      John Koleszar authored
      These functions were true duplicates of functions present in the
      generic code. This fixes some of the link errors when building
      with --enable-shared --enable-pic.
      
      Change-Id: Idff26599d510d954e439207883607ad6b74df20c
      d330a587
  28. 25 Oct, 2010 1 commit