1. 26 Oct, 2010 13 commits
    • 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
      vpxdec: rework default output parameters · 933d44b8
      John Koleszar authored
      This patch reworks the default behavior of the tool to output Y4M
      instead of writing individual raw frames. The relevant controls are
      now:
        --yv12, --i420  - These options change the output format to be
                          raw planar data. The output will be Y4M unless
                          one of these options is specified.
      
        --flipuv        - Swaps the chroma planes. Works with Y4M output.
      
        -o, --output    - Sets the output filename. Defaults to stdout if
                          not specified. Supports escape character
                          expansion for frame width (%w) height (%h) and
                          sequence number (%1..%9). The --prefix option
                          has been removed in favor of this escape
                          expansion.
      
      Since the output defaults to stdout if -o is not specified, an
      error will be thrown if stdout is not connected to a pipe. This
      can be overridden by specifying '-o -'.
      
      Change-Id: I94e42c57ca75721fdd57a6129e79bcdb2afe5d4d
      933d44b8
    • John Koleszar's avatar
      vpxdec: replace --quiet with --verbose · 4b578ea6
      John Koleszar authored
      Be quiet by default, to play nicer with scripts.
      
      Change-Id: I68f6c88411fd5487566f268fb73b4e55ae64410c
      4b578ea6
    • John Koleszar's avatar
      vpxdec: use the same output for --progress and --summary · 5d12e04d
      John Koleszar authored
      Update the timing information in-place for the --progress
      option.
      
      Change-Id: I8efea57050db72963c0bc5c994425e7e692d1502
      5d12e04d
    • John Koleszar's avatar
      usage: fix horizontal alignment of options · dea6193d
      John Koleszar authored
      When showing the command usage information for vpxenc and vpxdec,
      options with both a short and long version that do not take an
      argument were not properly aligned.
      
      Change-Id: I8d65b5ab85bcb5a5dc8bc0d4b293b5189d56dedb
      dea6193d
    • 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
    • John Koleszar's avatar
      Import webmquicktime webm writer · f9d98240
      John Koleszar authored
      Initial import of the libmkv directory from the webmquicktime[1]
      project, at commit fedbda1.
      
      [1]: git://review.webmproject.org/webmquicktime.git
           commit fedbda18de899ff94855cb334de7e471036fbf1d
      
      Change-Id: I1564a0ebfa72293fc296ee02178196530dfd90e4
      f9d98240
    • 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
    • John Koleszar's avatar
      ivfdec: support y4m output from raw input · cfe3f917
      John Koleszar authored
      The width and height needed to write the Y4M header can be found by
      probing the stream with vpx_codec_peek_stream_info(). This also
      has the consequence of supporting multiple codecs from raw files
      with automatic detections, should we add additional codecs in the
      future.
      
      Change-Id: I7522a8f4c7577b6ed9876d744c59cd86d30c6049
      cfe3f917
    • John Koleszar's avatar
      ivfdec: webm reader support · ad252daf
      John Koleszar authored
      This patch enables ivfdec to decode WebM files. WebM demuxing is
      provided by the Matthew Gregan's Nestegg library.
      
      This patch also makes minor changes to the timebase->framerate
      handling when doing Y4M output. For WebM files, the framerate is
      guessed by looking at the first second of video. For IVF files,
      the timebase=1/(2*fps) hack is still in place, but is only used
      if the timebase denominator is less than 1000. This is in anticipation
      of change I8d25b5b, which introduces the distinction between
      framerate and timebase to ivfenc. In the case of high resolution
      timebases, like 100ns, we would have to guess the framerate
      like we do for WebM, but since WebM support in ivfenc will
      deprecate IVF output, we just assume 30fps rather than writing the
      lookahead code.
      
      Change-Id: I1dd8600f13bf6071533d2816f005da9ede4f60a2
      ad252daf
  2. 21 Oct, 2010 1 commit
  3. 20 Oct, 2010 2 commits
  4. 19 Oct, 2010 2 commits
  5. 18 Oct, 2010 1 commit
    • Johann's avatar
      copy compiler warning fixes · ce1ce992
      Johann authored
      generic version got fixed, but not the arm version. fixes:
      vp8/encoder/arm/mcomp_arm.c: In function 'vp8_full_search_sadx3':
      vp8/encoder/arm/mcomp_arm.c:1208: warning: pointer targets in passing
      argument 5 of 'fn_ptr->sdx3f' differ in signedness
      vp8/encoder/arm/mcomp_arm.c:1208: note: expected 'unsigned int *' but
      argument is of type 'int *'
      
      and another unsigned change to keep the files similar
      
      Change-Id: I1b6255dc3a03b90394a791ee0d15d8167d9454db
      ce1ce992
  6. 15 Oct, 2010 2 commits
    • Johann's avatar
      remove dead code · 963bcd6c
      Johann authored
      vp8_diamond_search_sadx4 isn't used in arm because there is no
      corrosponding sdx4df as in x86. rather than keep it in sync with
      ../mcomp.c, delete it
      
      vp8_hex_search had the original, more readable/understandable code if`d
      out. it's also available in ../mcomp.c, so remove the dead copy
      
      Change-Id: Ia42aa6e23b3a2e88040f467280befec091ec080e
      963bcd6c
    • Yaowu Xu's avatar
      change to make use of more trellis quantization · 2e53e9e5
      Yaowu Xu authored
      when a subsequent frame is encoded as an alt reference frame, it is
      unlikely that any mb in current frame will be used as reference for
      future frames, so we can enable quantization optimization even when
      the RD constant is slightly rate-biased. The change has an overall
      benefit between 0.1% to 0.2% bit savings on the test sets based on
      vpxssim scores.
      
      Change-Id: I9aa7bc5cd573ea84e3ee655d2834c18c4460ceea
      2e53e9e5
  7. 14 Oct, 2010 5 commits
  8. 13 Oct, 2010 2 commits
  9. 12 Oct, 2010 6 commits
    • Fritz Koenig's avatar
      GCC inline restrictions were not adequate. · e50f5d40
      Fritz Koenig authored
      =r was not restrictive enough and the compiler was not returning
      ebx correctly.
      
      Change-Id: I7606e384067bd5fb69189802f1ff64ccc5aa02d6
      e50f5d40
    • John Koleszar's avatar
      Centralize mb skip state calculation · 13685747
      John Koleszar authored
      This patch moves the scattered updates to the mb skip state
      (mode_info_context->mbmi.mb_skip_coeff) to vp8_tokenize_mb. Recent
      changes to the quantizer exposed a bug where if a macroblock
      could be coded as a skip but isn't, the encoder would run the
      loopfilter but the decoder wouldn't, causing a reference buffer
      mismatch.
      
      The loopfilter is controlled by a flag called dc_diff. The decoder
      looks at the number of decoded coefficients when setting this flag.
      The encoder sets this flag based on the skip state, since any
      skippable macroblock should be transmitted as a skip. The coefficient
      optimization pass (vp8_optimize_b()) could change the coefficients
      such that a block that was not a skip becomes one. The encoder was
      not updating the skip state in this situation for intra coded blocks.
      
      The underlying issue predates it, but this bug was recently triggered
      by enabling trellis quantization on the Y2 block in commit dcd29e36,
      and by changing the quantizer range control in commit 305be4e4.
      
      Change-Id: I5cce5da0dbc2d22f7d79ee48149f01e868a64802
      13685747
    • John Koleszar's avatar
      acff1627
    • Timothy B. Terriberry's avatar
      Add const qualifiers to variance/SAD functions. · f4a85944
      Timothy B. Terriberry authored
      These functions should never change their input, and there's no
       reason not to declare that.
      This allows them to be passed static const data.
      
      Change-Id: Ia49fe4b01e80e9afcb24b4844817694d4da5995c
      f4a85944
    • John Koleszar's avatar
    • John Koleszar's avatar
  10. 11 Oct, 2010 5 commits
  11. 07 Oct, 2010 1 commit
    • Johann's avatar
      configure is not in src · a31a58d1
      Johann authored
      one comment in the README said the configure script was in src.
      it's not. pointed out by Aaron Sherman
      
      Change-Id: Ife0b53e096856d46669a99eefd71ac23d0351f65
      a31a58d1