1. 24 May, 2009 1 commit
  2. 18 Apr, 2009 1 commit
  3. 17 Apr, 2009 1 commit
  4. 08 Apr, 2009 1 commit
  5. 31 Mar, 2009 1 commit
  6. 30 Mar, 2009 2 commits
  7. 19 Mar, 2009 1 commit
  8. 04 Mar, 2009 1 commit
    • Fiona Glaser's avatar
      Remove non-pre scenecut · 42f27d04
      Fiona Glaser authored
      Add support for no-b-adapt + pre-scenecut (patch by BugMaster)
      Pre-scenecut was generally better than regular scenecut in terms of accuracy and regular scenecut didn't work in threaded mode anyways.
      Add no-scenecut option (scenecut=0 is now no scenecut; previously it was -1)
      Fix an incorrect bias towards P-frames near scenecuts with B-adapt 2.
      Simplify pre-scenecut code.
  9. 04 Feb, 2009 1 commit
  10. 03 Feb, 2009 1 commit
  11. 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.
  12. 14 Jan, 2009 2 commits
  13. 06 Jan, 2009 1 commit
  14. 12 Dec, 2008 1 commit
  15. 29 Nov, 2008 1 commit
  16. 29 Oct, 2008 1 commit
    • Fiona Glaser's avatar
      Full sub8x8 RD mode decision · fb1af79e
      Fiona Glaser authored
      Small speed penalty with p4x4 enabled, but significant quality gain at subme >= 6
      As before, gain is proportional to the amount of p4x4 actually useful in a given input at the given bitrate.
  17. 22 Oct, 2008 1 commit
    • Fiona Glaser's avatar
      Sub-8x8 Qpel-RD in P-frames · 5993b7e9
      Fiona Glaser authored
      Improves quality when using p8x4/p4x8/p4x4 subpartitions
      Benefit is proportional to how many sub-8x8 partitions are used; helps most at high bitrates and low resolutions.
  18. 03 Oct, 2008 1 commit
    • Fiona Glaser's avatar
      Resolve quality regression in r996 · be4be30f
      Fiona Glaser authored
      Accidentally removed the wrong line of code.  I think this classifies as a "10l".
      Thanks to techouse for initial bug report and skystrife for helping me find it.
  19. 02 Oct, 2008 1 commit
    • Fiona Glaser's avatar
      Rework subme system, add RD refinement in B-frames · 60455fff
      Fiona Glaser authored
      The new system is as follows: subme6 is RD in I/P frames, subme7 is RD in all frames, subme8 is RD refinement in I/P frames, and subme9 is RD refinement in all frames.
      subme6 == old subme6, subme7 == old subme6+brdo, subme8 == old subme7+brdo, subme9 == no equivalent
      --b-rdo has, accordingly, been removed.  --bime has also been removed, and instead enabled automatically at subme >= 5.
      RD refinement in B-frames (subme9) includes both qpel-RD and an RD version of bime.
  20. 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.
  21. 20 Sep, 2008 2 commits
  22. 19 Sep, 2008 1 commit
  23. 17 Sep, 2008 1 commit
  24. 15 Sep, 2008 2 commits
  25. 05 Sep, 2008 2 commits
  26. 21 Aug, 2008 1 commit
  27. 16 Aug, 2008 1 commit
  28. 09 Aug, 2008 1 commit
  29. 10 Jul, 2008 1 commit
    • Fiona Glaser's avatar
      Fix and enable I_PCM macroblock support · 6b4ad5f5
      Fiona Glaser authored
      In RD mode, always consider PCM as a macroblock mode possibility
      Fix bitstream writing for PCM blocks in CAVLC and CABAC, and a few other minor changes to make PCM work.
      PCM macroblocks improve compression at very low QPs (1-5) and in lossless mode.
  30. 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
  31. 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
  32. 03 Jul, 2008 1 commit
  33. 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.
  34. 15 Jun, 2008 1 commit
  35. 12 Jun, 2008 1 commit
    • Fiona Glaser's avatar
      Fix regression in r736 · d4e07786
      Fiona Glaser authored
      r736 added intra RD refinement to B-frames; however, it is possible for subme=7 to be used without b-rdo.
      This means intra RD isn't run, and therefore it is possible for intra chroma analysis to not have been run, since update_cache was never called for an intra block, and chroma ME is not required even at subme=7.
      r801, which removed a memset, made this worse because previously the chroma prediction mode was at least initialized to zero; now it was not initialized at all.
      Therefore, --no-chroma-me, --subme 7, and no --b-rdo had the potential to crash.
      This change restricts intra RD refinement to only be run when --b-rdo is enabled (sensible to begin with), thus preventing a crash in this case.