1. 26 Oct, 2010 5 commits
    • 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 3 commits
    • 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
    • Yunqing Wang's avatar
      Remove unused file in encoder · 7e6f7b57
      Yunqing Wang authored
      Remove vp8/encoder/x86/csystemdependent.c
      
      Change-Id: I7c590dcd07b68704d463a1452f62f29ffb1402f4
      7e6f7b57
    • Scott LaVarnway's avatar
      Added vp8_fast_quantize_b_sse2 · d860f685
      Scott LaVarnway authored
      Moved vp8_fast_quantize_b_sse from quantize_mmx.asm into
      quantize_sse2.asm and renamed.  Updated the assembly code to
      match the C version.
      
      Change-Id: I1766d9e1ca60e173f65badc0ca0c160c2b51b200
      d860f685
  12. 06 Oct, 2010 1 commit
    • Yaowu Xu's avatar
      optimize fast_quantizer c version · d338d14c
      Yaowu Xu authored
      As the zbin and rounding constants are normalized, rounding effectively
      does the zbinning, therefore the zbin operation can be removed. In
      addition, the memset on the two arrays are no longer necessary.
      
      Change-Id: If39c353c42d7e052296cb65322e5218810b5cc4c
      d338d14c
  13. 05 Oct, 2010 3 commits
  14. 04 Oct, 2010 2 commits
    • Jan Kratochvil's avatar
      nasm: avoid relative include paths · fc2b06c6
      Jan Kratochvil authored
      nasm does not automatically assume the source's directory also for its
      include files.
      
      Provide nasm compatibility.  No binary change by this patch with yasm on
      {x86_64,i686}-fedora13-linux-gnu.  Few longer opcodes with nasm on
      {x86_64,i686}-fedora13-linux-gnu have been checked as safe.
      
      Change-Id:	I386efa0cca5d401193416c11bd7363a283541645
      fc2b06c6
    • Jan Kratochvil's avatar
      nasm: address labels 'rel label' vice 'wrt rip' · 5cdc3a4c
      Jan Kratochvil authored
      nasm does not support `label wrt rip', it requires `rel label'. It is
      still fully compatible with yasm.
      
      Provide nasm compatibility. No binary change by this patch with yasm on
      {x86_64,i686}-fedora13-linux-gnu. Few longer opcodes with nasm on
      {x86_64,i686}-fedora13-linux-gnu have been checked as safe.
      
      Change-Id: I488773a4e930a56e43b0cc72d867ee5291215f50
      5cdc3a4c