1. 25 Apr, 2011 1 commit
    • Alok Ahuja's avatar
      Stereo 3D format support for vpxenc · 72c76ca2
      Alok Ahuja authored
      Create a new input parameter to allow specifying
      the packed frame stereo 3d format. A default value
      of mono will be written in the absence of user
      specified input
      
      Change-Id: I576d9952ab5d7e2076fbf1b282016a9a1baaa103
      72c76ca2
  2. 15 Apr, 2011 1 commit
    • Johann's avatar
      remove executable bit · f64f425a
      Johann authored
      source files are not executable
      
      Change-Id: Id2c7294695a22217468426423979f68f02d82340
      f64f425a
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 12 Nov, 2010 1 commit
  13. 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
  14. 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
  15. 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
  16. 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
  17. 29 Oct, 2010 1 commit
  18. 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
  19. 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
  20. 26 Oct, 2010 8 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
    • John Koleszar's avatar
      vpxenc: output webm by default · 456bfb19
      John Koleszar authored
      WebM should be preferred to IVF output, since it has wider tool support.
      
      Change-Id: I5ac3d5cb68722e6c8af917cdba32ac01dd5e0ea2
      456bfb19
    • John Koleszar's avatar
      rename ivf{enc,dec} to vpx{enc,dec} · ea68ee04
      John Koleszar authored
      The new WebM output support should be preferred to IVF, but we can't
      change the default behavior of the ivf* tools. There are a few other
      default behaviors for these tools that are counterintuitive for
      historical reasons, and changing the binary name provides the
      opportunity to clean those up as well. This patch takes the first
      step by renaming the binaries.
      
      Change-Id: I647008ae37cc352dd27ec1da7ed13489e0609b24
      ea68ee04
    • John Koleszar's avatar
      ivfenc: webm output support · dc66630c
      John Koleszar authored
      This patch adds the --webm option, to allow the creation of WebM streams
      without having to remux ivf into webm.
      
      Change-Id: Ief93c114a6913c55a04cf51bce38f594372d0ad0
      dc66630c
    • Frank Galligan's avatar
      Fixed the timebase parameter of ivfenc. · 1258cf62
      Frank Galligan authored
      Ivfenc will use timebase if it is set. If it is not set ivfenc will
      still double the timebase so altref frames will have a unique pts.
      Patch Set #3: Use integer math to generate source pts. Added a
      framerate parameter. Increased the default timebase to milliseconds to
      remove the *2 everywhere.
      
      Change-Id: I8d25b5b2cb26deef7eb72d74b5f76c98cafaf4db
      1258cf62
  21. 11 Oct, 2010 1 commit
  22. 09 Sep, 2010 1 commit
  23. 27 Aug, 2010 1 commit
    • Timothy B. Terriberry's avatar
      Fix two-pass framrate for Y4M input. · e105e245
      Timothy B. Terriberry authored
      The timebase was being set to the value in the Y4M file on each
       pass, but only doubled to account for the altref placement on
       the first past.
      This avoids reseting it on the second pass.
      
      Change-Id: Ie342639bad1ffe9c2214fbbaaded72cfed835b42
      e105e245
  24. 24 Jun, 2010 1 commit
    • John Koleszar's avatar
      ivfenc: correct fixed kf interval, --disable-kf · b1e36f28
      John Koleszar authored
      ivfenc was setting the VPX_KF_FIXED mode when the kf_min_dist and
      kf_max_dist parameters were set to each other. This flag actually means
      that keyframes are disabled, and that name was deprecated to avoid
      confusion such as this. Instead, a new option is exposed for setting the
      VPX_KF_DISABLED mode, and the intervals are passed through to the codec,
      which will do automatic placement at a fixed interval as expected.
      
      Change-Id: I15abbec5936f39d5901878b4bc154372fbc23a43
      b1e36f28
  25. 16 Jun, 2010 1 commit
    • Tom Finegan's avatar
      Avoid encoding garbage when ivfenc encounters an unsupported Y4M file. · e703af97
      Tom Finegan authored
      This change stops ivfenc from treating unsupported Y4M files as raw
      input.
      
      For example, if given an interlaced Y4M file, ivfenc treated the input
      as if it were raw data because the unsupported Y4M file case previously
      fell through without being handled.
      
      Change-Id: I06caa50f3448e6388741a77346daaebf77c277e1
      e703af97
  26. 14 Jun, 2010 1 commit
    • John Koleszar's avatar
      ivfenc: fix two-pass support of raw files · df2c62d3
      John Koleszar authored
      Commit 3245d463 "ivfenc: support reading/writing from a pipe" broke
      support for two pass encodes of raw files when done in two
      invocations of ivfenc. The raw image was only set up on pass 0,
      which was never hit when running with --pass=2 --passes=2.
      
      Change-Id: I6a9858be1a8998d5bd45331123b46b1baa05b379
      df2c62d3
  27. 11 Jun, 2010 2 commits
  28. 04 Jun, 2010 1 commit
  29. 03 Jun, 2010 1 commit