1. 24 Mar, 2011 1 commit
  2. 25 Jan, 2011 1 commit
  3. 18 Dec, 2010 1 commit
  4. 14 Dec, 2010 1 commit
  5. 19 Nov, 2010 1 commit
  6. 10 Oct, 2010 1 commit
  7. 18 Sep, 2010 1 commit
    • Fiona Glaser's avatar
      Update source file headers · 213a99d0
      Fiona Glaser authored
      Update dates, improve file descriptions, make things more consistent.
      Also add information about commercial licensing.
  8. 24 Aug, 2010 1 commit
    • Fiona Glaser's avatar
      CAVLC "trellis" · 26861893
      Fiona Glaser authored
      ~3-10% improved compression with CAVLC.
      --trellis is now a valid option with CAVLC.
      Perhaps more importantly, this means psy-trellis now works with CAVLC.
      This isn't a real trellis; it's actually just a simplified QNS.
      But it takes enough shortcuts that it's still roughly as fast as a trellis; just not quite optimal.
      Thus the name is a bit of a misnomer, but we're reusing the option name because it does the same thing.
      A real trellis would be better, but CAVLC is much harder to trellis than CABAC.
      I'm not aware of any published polynomial-time solutions that are significantly close to optimal.
  9. 16 Aug, 2010 1 commit
    • Fiona Glaser's avatar
      Deblock-aware RD · c9f17d93
      Fiona Glaser authored
      Small quality gain (~0.5%) at lower bitrates, potentially larger with QPRD.
      May help more with psy, maybe not.
      Enabled at subme >= 9.  Small speed cost (a few %).
  10. 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.
  11. 02 Jun, 2010 2 commits
  12. 17 May, 2010 1 commit
    • Fiona Glaser's avatar
      Overhaul CABAC: faster, less cache usage · 3267f35a
      Fiona Glaser authored
      Horribly munge up the CABAC tables to allow deduplication of some data.
      Saves 256 bytes of L1d cache in non-RD, 512 bytes in RD.
      Add asm versions of bypass and terminal; save L1i cache by re-using putbyte code.
      Further optimize encode_decision.
      All 3 primary CABAC functions fit in under 256 bytes of code total on x86_64.
  13. 29 Apr, 2010 1 commit
  14. 05 Apr, 2010 2 commits
  15. 27 Mar, 2010 1 commit
  16. 23 Feb, 2010 1 commit
    • Anton Mitrofanov's avatar
      Faster, more accurate psy-RD caching · 5e8645b3
      Anton Mitrofanov authored
      Keep more variants of cached Hadamard scores and only calculate them when necessary.
      Results in more calculation, but simpler lookups.
      Slightly more accurate due to internal rounding in SATD and SA8D functions.
  17. 22 Feb, 2010 1 commit
  18. 28 Jan, 2010 1 commit
  19. 14 Jan, 2010 1 commit
  20. 12 Oct, 2009 1 commit
    • Loren Merritt's avatar
      change all dct arrays to 1d. · 1fbba0ca
      Loren Merritt authored
      the C standard doesn't allow you to iterate 1-dimensionally over 2d arrays, and nothing other than the dsp functions themselves cares about the 2dness of dct.
      this fixes a miscompilation in x264_mb_optimize_chroma_dc.
  21. 13 Sep, 2009 1 commit
  22. 23 Aug, 2009 1 commit
    • David Conrad's avatar
      GSOC merge part 2: ARM stack alignment · ca7da1ae
      David Conrad authored
      Neither GCC nor ARMCC support 16 byte stack alignment despite the fact that NEON loads require it.
      These macros only work for arrays, but fortunately that covers almost all instances of stack alignment in x264.
  23. 17 Aug, 2009 1 commit
    • Fiona Glaser's avatar
      Fix two bugs in QPRD · ba0c0351
      Fiona Glaser authored
      QPRD could in some cases force blocks to skip when they shouldn't be ~(+0.01db)
      Force QPRD to abide by qpmin/qpmax restrictions.
  24. 26 Jul, 2009 1 commit
    • Fiona Glaser's avatar
      Add QPRD support as subme=10 · 4304c427
      Fiona Glaser authored
      Refactor trellis lambda selection to be done in analyse_init instead of in trellis.
      This will allow for more easy adaption of lambda later on; for now it allows constant lambda across variable QPs.
      QPRD is only available with adaptive quantization enabled and generally improves SSIM and visual quality.
      Additionally, weight the SSD values from RD based on the relative QP offset for chroma; helps visually at high QPs where chroma has a lower QP than luma.
      This fixes some visual artifacts created by QPRD at high QPs.
      Note that this generally hurts PSNR and SSIM, and so is only on when psy-RD is on.
  25. 22 Jul, 2009 1 commit
  26. 22 Jun, 2009 1 commit
    • Fiona Glaser's avatar
      Various CABAC optimizations and cleanups · 90bec46b
      Fiona Glaser authored
      Faster CABAC CBF context calculation for inter blocks.
      Add x264_constant_p(), will probably be useful in the future as well.
      Simpler subpartition functions.
      Clean up and optimize mvd_cpn a bit more.
      Various other minor optimizations.
  27. 19 May, 2009 1 commit
  28. 03 Feb, 2009 1 commit
  29. 30 Jan, 2009 1 commit
    • Fiona Glaser's avatar
      Massive overhaul of nnz/cbp calculation · e394bd60
      Fiona Glaser authored
      Modify quantization to also calculate array_non_zero.
      PPC assembly changes by gpoirior.
      New quant asm includes some small tweaks to quant and SSE4 versions using ptest for the array_non_zero.
      Use this new feature of quant to merge nnz/cbp calculation directly with encoding and avoid many unnecessary calls to dequant/zigzag/decimate/etc.
      Also add new i16x16 DC-only iDCT with asm.
      Since intra encoding now directly calculates nnz, skip_intra now backs up nnz/cbp as well.
      Output should be equivalent except when using p4x4+RDO because of a subtlety involving old nnz values lying around.
      Performance increase in macroblock_encode: ~18% with dct-decimate, 30% without at CRF 25.
      Overall performance increase 0-6% depending on encoding settings.
  30. 29 Nov, 2008 1 commit
  31. 07 Nov, 2008 1 commit
  32. 27 Oct, 2008 1 commit
    • Fiona Glaser's avatar
      Optimize CABAC bit cost calculation · e09f55cc
      Fiona Glaser authored
      Speed up cabac mvd and add new precalculated transition/entropy table.
      Add "noup" function for cabac operations to not update the state table when it isn't necessary.
      1-3% faster macroblock_size_cabac.
  33. 22 Oct, 2008 2 commits
  34. 18 Oct, 2008 1 commit
  35. 15 Sep, 2008 2 commits
  36. 21 Aug, 2008 1 commit