1. 22 Mar, 2012 - 4 commits
  2. 21 Mar, 2012 - 1 commit
  3. 10 Mar, 2012 - 1 commit
  4. 08 Mar, 2012 - 2 commits
  5. 01 Mar, 2012 - 3 commits
    • John Koleszar's avatar
      vpxenc: support scaling prior to encoding · 118b445b
      John Koleszar authored
      Scales the input of the encoder using libyuv's "box filter". Each stream
      may have a different width and height specified. If the width (or
      height) parameter is missing (or is explicitly set to 0) then the value
      will be calculated based on the specified height (or width) and the
      input file's dimensions, preserving its aspect ratio. Leaving the height
      unspecified behaves similarly.
      
      Note: This functionality still does not take advantage of the
      accelerated multi-resolution encoder support with
      CONFIG_MULTI_RES_ENCODING.
      
      Change-Id: Ic7026810b13be030826be80dc6f7fc4aaf0c35d0
      118b445b
    • John Koleszar's avatar
      libyuv: fix compilation on ARM · 3e78b5f2
      John Koleszar authored
      ScaleRowDown2_NEON, ScaleRowDown4_NEON, ScaleRowDown34_NEON,
      ScaleRowDown38_NEON had anonymous parameters, which are not valid
      in C.
      
      Change-Id: If55f765e0c410f35b01a23c2bb9aea8966c0109d
      3e78b5f2
    • John Koleszar's avatar
      vpx_timer: increase resolution · a6f538ce
      John Koleszar authored
      There's no useful reason to limit this timer to 1 second.
      
      Change-Id: Idd1960268624e8bdfe958d99833ae6482fdb423e
      a6f538ce
  6. 16 Feb, 2012 - 4 commits
    • John Koleszar's avatar
      vpxenc: initial implementation of multistream support · 9e50ed7f
      John Koleszar authored
      Add the ability to specify multiple output streams on the command line.
      Streams are delimited by --, and most parameters inherit from previous
      streams.
      
      In this implementation, resizing streams is still not supported. It
      does not make use of the new multistream support in the encoder either.
      Two pass support runs all streams independently, though it's
      theoretically possible that we could combine firstpass runs in the
      future. The logic required for this is too tricky to do as part of this
      initial implementation. This is mostly an effort to get the parameter
      passing and independent streams working from the application's
      perspective, and a later commit will add the rescaling and
      multiresolution support.
      
      Change-Id: Ibf18c2355f54189fc91952c734c899e5c072b3e0
      9e50ed7f
    • John Koleszar's avatar
      vpxenc: factor out input open/close · 732cb9a6
      John Koleszar authored
      Simplify some of the file I/O for later commits which will add multistream
      support
      
      Change-Id: Idf1a05f3a29c95331d0c4a6ea5960904e4897fd4
      732cb9a6
    • John Koleszar's avatar
      vpxenc: add warning()/fatal() helpers · c535025c
      John Koleszar authored
      Cosmetic. Allows exiting with an error message without opening a new
      scope.
      
      Change-Id: If227b29b825f0241acea79dd38f19e524552ee18
      c535025c
    • John Koleszar's avatar
      vpxenc: factor out global config options · efd54f8f
      John Koleszar authored
      This is a first step towards specifying multiple output streams
      with one command line.
      
      Change-Id: Iac784d3911bf553694d024bbd0c3d547261e914b
      efd54f8f
  7. 11 Feb, 2012 - 1 commit
  8. 10 Feb, 2012 - 3 commits
  9. 09 Feb, 2012 - 1 commit
    • Johann's avatar
      Fix variance overflow · fea3556e
      Johann authored
      In the variance calculations the difference is summed and later squared.
      When the sum exceeds sqrt(2^31) the value is treated as a negative when
      it is shifted which gives incorrect results.
      
      To fix this we cast the result of the multiplication as unsigned.
      
      The alternative fix is to shift sum down by 4 before multiplying.
      However that will reduce precision.
      
      For 16x16 blocks the maximum sum is 65280 and sqrt(2^31) is 46340 (and
      change).
      
      PPC change is untested.
      
      Change-Id: I1bad27ea0720067def6d71a6da5f789508cec265
      fea3556e
  10. 08 Feb, 2012 - 3 commits
  11. 07 Feb, 2012 - 1 commit
    • John Koleszar's avatar
      Align internal mfqe framebuffer dimensions · 417b8529
      John Koleszar authored
      MFQE postproc crashed with stream dimensions not a multiple of 16.
      The buffer was memset unconditionally, so if the buffer allocation
      fails we end up trying to write to NULL.
      
      This patch traps an allocation failure with vpx_internal_error(),
      and aligns the buffer dimensions to what vp8_yv12_alloc_frame_buffer()
      expects.
      
      Change-Id: I3915d597cd66886a24f4ef39752751ebe6425066
      417b8529
  12. 06 Feb, 2012 - 3 commits
  13. 03 Feb, 2012 - 1 commit
    • Yunqing Wang's avatar
      Allow to skip highest-resolution encoding in multi-resolution encoder · fa1a9290
      Yunqing Wang authored
      Sometimes, a user doesn't have enough bandwidth to send high-resolution
      (i.e. HD) video even though the camera catches HD video. This change
      allowed users to skip highest-resolution encoding by setting that level's
      target bit rate to 0.
      
      To test it, modify the following line in vp8_multi_resolution_encoder.c.
          unsigned int  target_bitrate[NUM_ENCODERS]={1400, 500, 100};
      To skip the highest-resolution level, change it to
          unsigned int  target_bitrate[NUM_ENCODERS]={0, 500, 100};
      To skip the first and second highest resolution levels, change it to
          unsigned int  target_bitrate[NUM_ENCODERS]={0, 0, 100};
      
      This change also fixed a small problem in mapping, which slightly helped
      quality and performance.
      
      Change-Id: I977bae9a9fbfba85c8be4bd5af01539f2b84bc81
      fa1a9290
  14. 02 Feb, 2012 - 3 commits
  15. 31 Jan, 2012 - 2 commits
  16. 30 Jan, 2012 - 7 commits
    • John Koleszar's avatar
      RTCD: remove unimplemented vp8_short_walsh4x4_mmx · 57d459ba
      John Koleszar authored
      This function does not exist.
      
      Change-Id: I84b72fb17d572d5cccee92220467b84c15842d4d
      57d459ba
    • John Koleszar's avatar
      RTCD: finalize removal of old RTCD system · 8aae2460
      John Koleszar authored
      This is the final commit in the series converting to the new RTCD
      system. It removes the encoder csystemdependent files and the remaining
      global function pointers that didn't conform to the old RTCD system.
      
      Change-Id: I9649706f1bb89f0cbf431ab0e3e7552d37be4d8e
      8aae2460
    • 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 motion search functions · 0b0bc8d0
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Ia5828b7ecc80db55b21916704aa3d54cbb98f625
      0b0bc8d0
    • John Koleszar's avatar
      RTCD: add block subtraction functions · be8af188
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: Id8a287fdd4bd050ea4452e1582ad85520f3081be
      be8af188
    • 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 FDCT functions · 510e0ab4
      John Koleszar authored
      This commit continues the process of converting to the new RTCD
      system.
      
      Change-Id: I3f9c07db65eb206f6363d21bdb80e871570da767
      510e0ab4