1. 23 Feb, 2012 1 commit
  2. 22 Feb, 2012 1 commit
    • Marco Paniconi's avatar
      Remove the frame rate factor for key frame size. · 507ee87e
      Marco Paniconi authored
      When temporal layers is used (i.e., number_of_layers > 1),
      we don't use the frame rate boost for setting the key
      frame target size. The factor was forcing the target size to be
      always at its minimum (2* per_frame_bandwidth) for low frame rates
      (i.e., base layer frame rate).
      
      Generally we should modify or remove this frame rate factor;
      for now we turn if off for number_of_layers > 1.
      
      Change-Id: Ia5acf406c9b2f634d30ac2473adc7b9bf2e7e6c6
      507ee87e
  3. 21 Feb, 2012 3 commits
  4. 17 Feb, 2012 7 commits
  5. 16 Feb, 2012 12 commits
    • Johann's avatar
      Clarify 'max_sad' usage · 6b151d43
      Johann authored
      Depending on implementation the optimized SAD functions may return early
      when the calculated SAD exceeds max_sad.
      
      Change-Id: I05ce5b2d34e6d45fb3ec2a450aa99c4f3343bf3a
      6b151d43
    • Johann's avatar
      OS X shell is incompatible with echo -n · 5f0b303c
      Johann authored
      Built in echo in 'sh' on OS X does not support -n (exclude trailing
      newline). It's not necessary so just leave it off. Fixes issue 390.
      
      Build include guard using 'symbol' so that it is more likely to be
      unique.
      
      Change-Id: I4bc6aa1fc5e02228f71c200214b5ee4a16d56b83
      5f0b303c
    • Fritz Koenig's avatar
      Include path fix for building against Android NDK. · 3653fb47
      Fritz Koenig authored
      cpu-features.h is not in the common paths, add
      to the cflags for Android.
      
      Change-Id: Icbafc7600d72f6b59ffb030f6ab80ee6860332bb
      3653fb47
    • 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
    • Makoto Kato's avatar
      Support Android x86 NDK build · 7989bb7f
      Makoto Kato authored
      On Android NDK, rand() is inlined function.  But, on our SSE optimization,
      we need symbol for rand()
      
      Change-Id: I42ab00e3255208ba95d7f9b9a8a3605ff58da8e1
      7989bb7f
    • Scott LaVarnway's avatar
      Simplify mb_to_x_edge calculation during mode decoding · 6776bd62
      Scott LaVarnway authored
      Change-Id: Ibcb35c32bf24c1d241090e24c5e2320e4d3ba901
      6776bd62
    • Scott LaVarnway's avatar
      Merge "decodemv cleanup/improvements" · a5879f7c
      Scott LaVarnway authored
      a5879f7c
    • Scott LaVarnway's avatar
      decodemv cleanup/improvements · 12ee845e
      Scott LaVarnway authored
      Removed unnecessary variables, unrolled functions, eliminated
      unnecessary mv bounds checks and branches.
      
      Change-Id: I02d034c70cd97b65025d59dd67c695e1db529f0b
      12ee845e
    • Attila Nagy's avatar
      Consolidate C version of token packing functions · d02e74a0
      Attila Nagy authored
      Replace inner loops of pack_mb_row_tokens_c and
      pack_tokens_into_partitions_c with a call to pack_tokens_c.
      
      Change-Id: I0341554fb154a14a5dadb63f8fc78010724c2c33
      d02e74a0
    • Attila Nagy's avatar
      Multithreaded encoder, late sync loopfilter · 78071b3b
      Attila Nagy authored
      Second shot at this...
      
      Sync with loopfilter thread as late as possible, usually just at the
      beginning of next frame encoding. This returns control to application
      faster and allows a better multicore scaling.
      
      When PSNR packets are generated the final filtered frame is needed
      imediatly so we cannot delay the sync. Same has to be done when
      internal frame is previewed.
      
      Change-Id: I64e110c8b224dd967faefffd9c93dd8dbad4a5b5
      78071b3b
    • 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
  6. 15 Feb, 2012 1 commit
  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 2 commits