1. 04 Jul, 2010 1 commit
    • Oskar Arvidsson's avatar
      Support for 9 and 10-bit encoding · c91f43a4
      Oskar Arvidsson authored
      Output bit depth is specified on compilation time via --bit-depth.
      There is currently almost no assembly code available for high-bit-depth modes, so encoding will be very slow.
      Input is still 8-bit only; this will change in the future.
      
      Note that very few H.264 decoders support >8 bit depth currently.
      Also note that the quantizer scale differs for higher bit depth.  For example, for 10-bit, the quantizer (and crf) ranges from 0 to 63 instead of 0 to 51.
      c91f43a4
  2. 09 Jun, 2010 1 commit
  3. 02 Jun, 2010 1 commit
  4. 17 May, 2010 1 commit
  5. 06 May, 2010 1 commit
  6. 29 Apr, 2010 1 commit
  7. 05 Apr, 2010 1 commit
    • Fiona Glaser's avatar
      Massive cosmetic and syntax cleanup · 58d2349d
      Fiona Glaser authored
      Convert all applicable loops to use C99 loop index syntax.
      Clean up most inconsistent syntax in ratecontrol.c, visualize, ppc, etc.
      Replace log(x)/log(2) constructs with log2, and similar with log10.
      Fix all -Wshadow violations.
      Fix visualize support.
      58d2349d
  8. 25 Feb, 2010 2 commits
  9. 09 Nov, 2009 3 commits
    • Loren Merritt's avatar
      cosmetics · df732ec7
      Loren Merritt authored
      df732ec7
    • Dylan Yudaken's avatar
      Weighted P-frame prediction · ccac8546
      Dylan Yudaken authored
      Merge Dylan's Google Summer of Code 2009 tree.
      Detect fades and use weighted prediction to improve compression and quality.
      "Blind" mode provides a small overall quality increase by using a -1 offset without doing any analysis, as described in JVT-AB033.
      "Smart", the default mode, also performs fade detection and decides weights accordingly.
      MB-tree takes into account the effects of "smart" analysis in lookahead, even further improving quality in fades.
      If psy is on, mbtree is on, interlaced is off, and weightp is off, fade detection will still be performed.
      However, it will be used to adjust quality instead of create actual weights.
      This will improve quality in fades when encoding in Baseline profile.
      
      Doesn't add support for interlaced encoding with weightp yet.
      Only adds support for luma weights, not chroma weights.
      Internal code for chroma weights is in, but there's no analysis yet.
      Baseline profile requires that weightp be off.
      All weightp modes may cause minor breakage in non-compliant decoders that take shortcuts in deblocking reference frame checks.
      "Smart" may cause serious breakage in non-compliant decoders that take shortcuts in handling of duplicate reference frames.
      
      Thanks to Google for sponsoring our most successful Summer of Code yet!
      ccac8546
    • Loren Merritt's avatar
      fix bottom-right pixel of lowres planes, which was uninitialized. · 3ddc66cc
      Loren Merritt authored
      weirdly, valgrind reported this only with --no-asm.
      3ddc66cc
  10. 24 Aug, 2009 1 commit
  11. 09 Aug, 2009 1 commit
  12. 11 Jun, 2009 1 commit
  13. 31 Dec, 2008 1 commit
  14. 25 Dec, 2008 1 commit
  15. 22 Dec, 2008 1 commit
  16. 28 Sep, 2008 1 commit
    • Fiona Glaser's avatar
      Replace High 4:4:4 profile lossless with High 4:4:4 Predictive. · a9e86d24
      Fiona Glaser authored
      This improves lossless compression by about 4-25% depending on source.
      The benefit is generally higher for intra-only compression.
      Also add support for 8x8dct and i8x8 blocks in lossless mode; this improves compression very slightly.
      In some rare cases 8x8dct can hurt compression in lossless mode, but its usually helpful, albeit marginally.
      Note that 8x8dct is only available with CABAC as it is never useful with CAVLC.
      High 4:4:4 Predictive replaced the previous profile in a 2007 revision to the H.264 standard.
      The only known compliant decoder for this profile is the latest version of CoreAVC.
      As I write this, JM does not actually correctly decode this profile.
      Hopefully this lack of support will soon change with this commit, as x264 will be (to my knowledge) the first compliant encoder.
      a9e86d24
  17. 20 Sep, 2008 1 commit
  18. 19 Sep, 2008 1 commit
  19. 16 Sep, 2008 1 commit
    • Fiona Glaser's avatar
      Cache motion vectors in lowres lookahead · c299b7d8
      Fiona Glaser authored
      This vastly speeds up b-adapt 2, especially at large bframes values.
      This changes output because now MV prediction in lookahead only uses L0/L1 MVs, not bidir.  This isn't a problem, since the bidir prediction wasn't really correct to begin with, so the change in output is neither positive nor negative.
      This also allowed the removal of some unnecessary memsets, which should also give a small speed boost.
      Finally, this allows the use of the lowres motion vectors for predictors in some future patch.
      c299b7d8
  20. 27 Aug, 2008 1 commit
  21. 21 Aug, 2008 1 commit
  22. 04 Jul, 2008 1 commit
    • Fiona Glaser's avatar
      Update file headers throughout x264 · bdbd4fe7
      Fiona Glaser authored
      Update "Authors" lists based on actual authorship; highest is most important
      Update copyright notices and remove old CVS tags from file headers
      Add file headers to GTK and other sections missing them
      Update FSF address
      Other header-related cosmetics
      bdbd4fe7
  23. 02 Jul, 2008 1 commit
    • Loren Merritt's avatar
      lowres_init asm · 04dc2536
      Loren Merritt authored
      rounding is changed for asm convenience. this makes the c version slower, but there's no way around that if all the implementations are to have the same results.
      04dc2536
  24. 03 Jun, 2008 1 commit
  25. 21 Mar, 2008 1 commit
  26. 17 Mar, 2008 1 commit
  27. 16 Mar, 2008 2 commits
  28. 02 Mar, 2008 1 commit
  29. 09 Jan, 2008 1 commit
  30. 19 Nov, 2007 1 commit
  31. 16 Nov, 2007 2 commits
  32. 15 Nov, 2007 1 commit
  33. 15 Sep, 2007 1 commit
  34. 17 Jul, 2007 1 commit
  35. 06 Jul, 2007 1 commit