1. 02 Aug, 2011 - 1 commit
  2. 28 Jul, 2011 - 1 commit
    • John Koleszar's avatar
      Convert rc_max_intra_bitrate_pct to control · 1654ae9a
      John Koleszar authored
      Since this is the only ABI incompatible change since the last release,
      convert it to use the control interface instead. The member of the
      configuration struct is replaced with the VP8E_SET_MAX_INTRA_BITRATE_PCT
      control.
      
      More significant API changes were expected to be forthcoming when this
      control was first introduced, and while they continue to be expected,
      it's not worth breaking compatibility for only this change.
      
      Change-Id: I799d8dbe24c8bc9c241e0b7743b2b64f81327d59
      1654ae9a
  3. 27 Jul, 2011 - 1 commit
  4. 26 Jul, 2011 - 1 commit
  5. 18 Jul, 2011 - 1 commit
    • Tero Rintaluoma's avatar
      Fixed rate histogram calculation · fd41cb84
      Tero Rintaluoma authored
      Using small values for --buf-sz= in command line causes
      floating point exception due to division by zero.
      
      Change-Id: Ibfe2d44db922993a78ebc9a4a1087d9625de48ae
      fd41cb84
  6. 12 Jul, 2011 - 1 commit
  7. 29 Jun, 2011 - 2 commits
    • Johann's avatar
      guard against space/time distortion · bb0ca87a
      Johann authored
      and divide by 0 errors
      
      Change-Id: I8af5ca3d0913cb6f278fff754f8772bcb62e674a
      bb0ca87a
    • John Koleszar's avatar
      vpxenc: prevent wraparound in the --rate-hist ringbuffer · 05239f0c
      John Koleszar authored
      For clips that are near 60fps and have a lot of alt refs, it's possible
      that the ring buffer holding the previous frames sizes/pts could wrap
      around, leading to a division by zero.
      
      In addition to checking for this condition in the ring buffer loop,
      the buffer size is made dependent on the actual frame rate in use,
      rather than defaulting to 60, which should improve accuracy at frame
      rates >= ~60.
      
      Change-Id: If5a04d6e847316dc5f7504f25c01164cf9332be8
      05239f0c
  8. 28 Jun, 2011 - 1 commit
    • James Zern's avatar
      vpxenc: free resources · db6ee543
      James Zern authored
      Free buffers allocated for y4m input and webm cue list.
      
      Change-Id: I02051baae3b45f692cf5c7f520ea9a2d80c7b470
      db6ee543
  9. 23 Jun, 2011 - 2 commits
    • John Koleszar's avatar
      vpxenc: add rate histogram display · c96f8e23
      John Koleszar authored
      Add the --rate-hist=n option, which displays a histogram with n
      buckets for the rate over the --buf-sz window.
      
      Change-Id: I2807b5a1525c7972e9ba40839b37e92b23ceffaf
      c96f8e23
    • John Koleszar's avatar
      vpxenc: add quantizer histogram display · 3fde9964
      John Koleszar authored
      Add the --q-hist=n option, which displays a histogram with n buckets for
      the quantizer selected on each frame.
      
      Change-Id: I59b020c26b0acae0b938685081d9932bd98df5c9
      3fde9964
  10. 27 Apr, 2011 - 1 commit
  11. 25 Apr, 2011 - 2 commits
  12. 15 Apr, 2011 - 1 commit
    • Johann's avatar
      remove executable bit · f64f425a
      Johann authored
      source files are not executable
      
      Change-Id: Id2c7294695a22217468426423979f68f02d82340
      f64f425a
  13. 30 Mar, 2011 - 1 commit
    • John Koleszar's avatar
      vpxenc: die on realloc failures · 26b6a3b0
      John Koleszar authored
      Identified as a possible cause of issue #308, the code was silently
      ignoring realloc failures, which would lead to corruption, memory
      leaks, and likely a crash. The best we can do in this case is die
      gracefully.
      
      Change-Id: Ie5f6a853d367015be5b9712bd742778f3baeefd9
      26b6a3b0
  14. 21 Mar, 2011 - 1 commit
    • John Koleszar's avatar
      Allow specifying --end-usage by enum name · 500fec2d
      John Koleszar authored
      Map an enum to the --end-usage values, so you can specify
      --end-usage=cq instead of --end-usage=2. The numerical values still
      work for historical scripts, etc, but this is more user friendly.
      
      Change-Id: I445ecd9638f801f5924a71eabf449bee293cdd34
      500fec2d
  15. 07 Mar, 2011 - 1 commit
    • Ralph Giles's avatar
      Fix format-string warning · fe9a604b
      Ralph Giles authored
      Cast size_t to (unsigned long) and print it with the %lu format
      string, which is more portable than C99's explict %zu for size_t.
      
      This truncates on Windows x64 but otherwise works on 32 and 64 bit
      platforms. In practice the stats file is unlikely to be so large.
      
      Change-Id: I0432b3acf85fc6ba4ad50640942e1ca4614b21cb
      fe9a604b
  16. 28 Jan, 2011 - 1 commit
    • 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
  17. 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
  18. 23 Dec, 2010 - 1 commit
    • James Berry's avatar
      vpxenc stats_close() memleak fix · 74e8446e
      James Berry authored
      stats_close() was not freeing memory for
      single pass runs.  It now takes in arg_passes
      to determine when it should free memory.
      
      Change-Id: I6623b7e30b76f9bf2e16008490f9b20484d03f31
      74e8446e
  19. 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
  20. 13 Dec, 2010 - 1 commit
    • James Berry's avatar
      fixed vpxenc bug where ivf files would be read incorrectly · 136bd245
      James Berry authored
      read_frame would incorrectly insert detect->buf into img
      for ivf files.  detect->position now set to 4 if input file is
      detected to be ivf in file_is_ivf to keep this from occuring.
      
      Change-Id: I5e235dd3033985bc62707a35c13af5984620208e
      136bd245
  21. 25 Nov, 2010 - 1 commit
    • Pascal Massimino's avatar
      allow dimensions as low as 1 pixel · fd9f9dc0
      Pascal Massimino authored
      remove warning comment in vpxenc.c: in case of 1x1 picture,
      detect_bytes will be equal to '3' and we'll fall back to
      RAW_TYPE.
      fix read_frame() by tracking the pre-read buffer length
      in the struct detect
      
      Change-Id: If1ed86ee5260dcdbc8f9d10da6cbb84a4cc2f151
      fd9f9dc0
  22. 16 Nov, 2010 - 1 commit
  23. 12 Nov, 2010 - 1 commit
  24. 05 Nov, 2010 - 1 commit
    • John Koleszar's avatar
      improve average framerate calculation · f7e187d3
      John Koleszar authored
      Change Ice204e86 identified a problem with bitrate undershoot due to
      low precision in the timestamps passed to the library. This patch
      takes a different approach by calculating the duration of this frame
      and passing it to the library, rather than using a fixed duration
      and letting the library average it out with higher precision
      timestamps. This part of the fix only applies to vpxenc.
      
      This patch also attempts to fix the problem for generic applications
      that may have made the same mistake vpxenc did. Instead of
      calculating this frame's duration by the difference of this frame's
      and the last frame's start time, we use the end times instead. This
      allows the framerate calculation to scavenge "unclaimed" time from
      the last frame. For instance:
      
        start |  end  | calculated duration
        ======+=======+====================
          0ms    33ms   33ms
         33ms    66ms   33ms
         66ms    99ms   33ms
        100ms   133ms   34ms
      
      Change-Id: I92be4b3518e0bd530e97f90e69e75330a4c413fc
      f7e187d3
  25. 04 Nov, 2010 - 1 commit
    • Yaowu Xu's avatar
      Increase the resolution of default timebase · a5397dba
      Yaowu Xu authored
      The old value 1000 was too low, which caused the effective duration and
      frame rate calculation to have an 1% error for typical 30 frame/second
      inputs. Symptom of the issue has been that most 2 pass encodings were
      undershooting target bit rate by 1% or so for 30 fps input.
      
      Change-Id: Ice204e86f844ceb9ce973456f2b995cc095283cf
      a5397dba
  26. 03 Nov, 2010 - 1 commit
    • John Koleszar's avatar
      vpxenc: require width and height for raw streams · 77e6b450
      John Koleszar authored
      Defaulting to 320x240 for raw streams is arbitrary and error-prone.
      Instead, require that the width and height be set manually if they
      can't be parsed from the input file.
      
      Change-Id: Ic61979857e372eed0779c2677247e894f9fd6160
      77e6b450
  27. 02 Nov, 2010 - 1 commit
    • John Koleszar's avatar
      fix pipe support on windows · c377bf0e
      John Koleszar authored
      STDIO streams are opened in text mode by default on Windows. This patch
      changes the stdin/stdout streams to be in binary mode if they are being
      used for I/O from the vpxenc or vpxdec tools.
      
      Fixes issue #216. Thanks to mw AT hesotech.de for the fix.
      
      Change-Id: I34525b3ce2a4a031d5a48d36df4667589372225b
      c377bf0e
  28. 29 Oct, 2010 - 1 commit
  29. 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
    • Frank Galligan's avatar
      Output the PSNR for the entire file. · 483ce403
      Frank Galligan authored
      If --psnr option is enabled vpxenc will output PSNR values for the
      entire file. Added a \n before final output to make sure the output
      is on its own line. Overall and Avg psnr matches the values written
      to opsnr.stt file.
      
      Change-Id: Ibac5fa9baf8d5a626ea0d6ba161b484e6e8427ee
      483ce403
    • 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
  30. 27 Oct, 2010 - 2 commits
    • Frank Galligan's avatar
      Output the PSNR for the entire file. · 3d84da6b
      Frank Galligan authored
      If --psnr option is enabled vpxenc will output PSNR values for the
      entire file. Added a \n before final output to make sure the output
      is on its own line. Overall and Avg psnr matches the values written
      to opsnr.stt file.
      
      Change-Id: I869268b704fe8b0c8389d318cceb6072fea102f8
      3d84da6b
    • John Koleszar's avatar
      vpxenc: add unique track id · c7c0c056
      John Koleszar authored
      MKV requires a unique(ish) TrackID element in the track info header.
      Instead of the current hard-coded ID, take a hash of the video track
      and use that. This value is not written in the deterministic output
      mode, despite being a deterministic value itself, to give flexibility
      to change the hash algorithm and not affect bisecting across the
      change.
      
      Change-Id: I807fc3ea6d1427a151c3ef703269b67e80aef860
      c7c0c056
  31. 26 Oct, 2010 - 4 commits
    • John Koleszar's avatar
      vpxenc: add deterministic output option · 75afcee9
      John Koleszar authored
      By baking the version number into the output file, a hash of the file
      will vary from commit to commit, even if the output is otherwise bit
      exact. Add a -D option to suppress this behavior, for use when
      bisecting or other debugging.
      
      Change-Id: I5089a8ce5719920ffaf47620fa9069b81fa15673
      75afcee9
    • John Koleszar's avatar
      vpxenc: warn against webm output to pipes · 0a6bf29e
      John Koleszar authored
      The WebM writer requires a seekable stream.
      
      Change-Id: I192e00706a0685362d41b8d2faf80add63d564b9
      0a6bf29e
    • John Koleszar's avatar
      vpxenc: specify output file with -o · 5329189a
      John Koleszar authored
      Requiring the output file to be specified with the -o option opens up
      the possibility of supporting multiple input files in the future.
      
      Change-Id: I14c9b75e9b21184b47081e1ccf30cf4c91315964
      5329189a
    • John Koleszar's avatar
      vpxenc: change --framerate to --fps · 28f177cd
      John Koleszar authored
      Saves a little typing. FPS is a well known abbreviation.
      
      Change-Id: I53730ea36afb9309732eb1c72c52d824d5365fec
      28f177cd