1. 06 Mar, 2019 1 commit
  2. 17 Jan, 2018 1 commit
  3. 24 Dec, 2017 1 commit
    • Vittorio Giovara's avatar
      Unify 8-bit and 10-bit CLI and libraries · 71ed44c7
      Vittorio Giovara authored
      Add 'i_bitdepth' to x264_param_t with the corresponding '--output-depth' CLI
      option to set the bit depth at runtime.
      
      Drop the 'x264_bit_depth' global variable. Rather than hardcoding it to an
      incorrect value, it's preferable to induce a linking failure. If applications
      relies on this symbol this will make it more obvious where the problem is.
      
      Add Makefile rules that compiles modules with different bit depths. Assembly
      on x86 is prefixed with the 'private_prefix' define, while all other archs
      modify their function prefix internally.
      
      Templatize the main C library, x86/x86_64 assembly, ARM assembly, AARCH64
      assembly, PowerPC assembly, and MIPS assembly.
      
      The depth and cache CLI filters heavily depend on bit depth size, so they
      need to be duplicated for each value. This means having to rename these
      filters, and adjust the callers to use the right version.
      
      Unfortunately the threaded input CLI module inherits a common.h dependency
      (input/frame -> common/threadpool -> common/frame -> common/common) which
      is extremely complicated to address in a sensible way. Instead duplicate
      the module and select the appropriate one at run time.
      
      Each bitdepth needs different checkasm compilation rules, so split the main
      checkasm target into two executables.
      71ed44c7
  4. 21 May, 2017 1 commit
    • Henrik Gramner's avatar
      x86: AVX and AVX-512 memcpy_aligned · c0cd7650
      Henrik Gramner authored
      Reorder some elements in the x264_mb_analysis_list_t struct to reduce the
      amount of padding required.
      
      Also drop the MMX implementation in favor of SSE.
      c0cd7650
  5. 21 Jan, 2017 1 commit
  6. 01 Dec, 2016 1 commit
    • Anton Mitrofanov's avatar
      Cosmetics · b2b39dae
      Anton Mitrofanov authored
      Also make x264_weighted_reference_duplicate() static.
      b2b39dae
  7. 16 Jan, 2016 1 commit
  8. 23 Feb, 2015 1 commit
  9. 16 Dec, 2014 1 commit
    • Janne Grunau's avatar
      aarch64: cabac_encode_{decision,bypass,terminal}_asm · 59b9c252
      Janne Grunau authored
      benchmarks on a Nexus 9 (nvidia denver):
      101.3 cycles in x264_cabac_encode_decision_c,   67105369 runs, 3495 skips
       97.3 cycles in x264_cabac_encode_decision_asm, 67105493 runs, 3371 skips
      132.8 cycles in x264_cabac_encode_terminal_c,    1046950 runs, 1626 skips
      116.1 cycles in x264_cabac_encode_terminal_asm,  1048424 runs, 152 skips
       92.4 cycles in x264_cabac_encode_bypass_c,     16776192 runs, 1024 skips
       89.6 cycles in x264_cabac_encode_bypass_asm,   16776453 runs, 763 skips
      
      Cycle counts are not as stable as one would like. The dynamic code
      optimisation seems to produce different results for small chnages in a
      binary. Repeated runs with the same binary produce stable results
      though (ignoring the first run).
      59b9c252
  10. 08 Jan, 2014 1 commit
  11. 09 Jan, 2013 1 commit
  12. 04 Feb, 2012 1 commit
  13. 10 Jul, 2011 1 commit
  14. 25 Jan, 2011 1 commit
  15. 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.
      213a99d0
  16. 09 Jun, 2010 1 commit
  17. 26 May, 2010 1 commit
  18. 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.
      3267f35a
  19. 27 Mar, 2010 1 commit
  20. 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.
      ca7da1ae
  21. 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.
      Cosmetics
      e09f55cc
  22. 21 Aug, 2008 1 commit
  23. 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
  24. 15 Jun, 2008 1 commit
    • Fiona Glaser's avatar
      Cosmetics and loop unrolling · dba0e5a2
      Fiona Glaser authored
      GCC is not very good at loop unrolling in cases where it can perform constant propagation, so the unrolling unfortunately has to be done manually.
      dba0e5a2
  25. 24 Apr, 2008 1 commit
  26. 21 Apr, 2008 1 commit
  27. 25 Mar, 2008 1 commit
  28. 24 Mar, 2008 2 commits
  29. 23 Mar, 2008 1 commit
  30. 22 Mar, 2008 1 commit
  31. 17 Mar, 2008 1 commit
  32. 27 Jan, 2008 1 commit
  33. 21 Apr, 2007 1 commit
  34. 10 Oct, 2006 1 commit
  35. 01 Oct, 2006 1 commit
  36. 03 Nov, 2005 1 commit
  37. 29 Oct, 2005 2 commits
  38. 15 Oct, 2005 1 commit