1. 18 Oct, 2008 2 commits
  2. 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
  3. 15 Sep, 2008 1 commit
  4. 27 Aug, 2008 1 commit
    • Fiona Glaser's avatar
      Activate trellis in p8x8 qpel RD · 8de7dbbe
      Fiona Glaser authored
      Also clean up macroblock.c with some refactoring
      Note that this change significantly reduces subme7+trellis2 performance, but improves quality.
      Issue originally reported by Alex_W.
      8de7dbbe
  5. 21 Aug, 2008 2 commits
  6. 09 Aug, 2008 1 commit
  7. 30 Jul, 2008 1 commit
  8. 16 Jul, 2008 1 commit
  9. 06 Jul, 2008 1 commit
    • Fiona Glaser's avatar
      Various optimizations and cosmetics · c9c7edf3
      Fiona Glaser authored
      Update AUTHORS file with Gabriel and me
      update XCHG macro to work correctly in if statements
      Add new lookup tables for block_idx and fdec/fenc addresses
      Slightly faster array_non_zero_count_mmx (patch by holger)
      Eliminate branch in analyse_intra
      Unroll loops in and clean up chroma encode
      Convert some for loops to do/while loops for speed improvement
      Do explicit write-combining on --me tesa mvsad_t struct
      Shrink --me esa zero[] array
      Speed up bime by reducing size of visited[][][] array
      c9c7edf3
  10. 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
  11. 03 Jul, 2008 1 commit
  12. 02 Jul, 2008 1 commit
    • Fiona Glaser's avatar
      Optimizations and cosmetics in macroblock.c · a59f4a7b
      Fiona Glaser authored
      If an i4x4 dct block has no coefficients, don't bother with dequant/zigzag/idct.  Not useful for larger sizes because the odds of an empty block are much lower.
      Cosmetics in i16x16 to be more consistent with other similar functions.
      Add an SSD threshold for chroma in probe_skip to improve speed and minimize time spent on chroma skip analysis.
      Rename lambda arrays to lambda_tab for consistency.
      a59f4a7b
  13. 24 Jun, 2008 1 commit
    • Fiona Glaser's avatar
      Convert NNZ to raster order and other optimizations · ec3d0955
      Fiona Glaser authored
      Converting NNZ to raster order simplifies a lot of the load/store code and allows more use of write-combining.
      More use of write-combining throughout load/save code in common/macroblock.c
      GCC has aliasing issues in the case of stores to 8-bit heap-allocated arrays; dereferencing the pointer once avoids this problem and significantly increases performance.
      More manual loop unrolling and such.
      Move all packXtoY functions to macroblock.h so any function can use them.
      Add pack8to32.
      Minor optimizations to encoder/macroblock.c
      ec3d0955
  14. 03 Jun, 2008 1 commit
  15. 17 May, 2008 3 commits
  16. 14 May, 2008 1 commit
  17. 27 Apr, 2008 2 commits
  18. 30 Mar, 2008 1 commit
  19. 22 Mar, 2008 2 commits
  20. 20 Mar, 2008 1 commit
  21. 19 Mar, 2008 1 commit
  22. 03 Mar, 2008 1 commit
  23. 02 Dec, 2007 1 commit
  24. 19 Nov, 2007 1 commit
  25. 17 Jul, 2007 1 commit
  26. 04 Apr, 2007 2 commits
  27. 11 Jan, 2007 1 commit
  28. 18 Nov, 2006 1 commit
  29. 29 Oct, 2006 2 commits
  30. 09 Oct, 2006 1 commit
  31. 01 Oct, 2006 2 commits