1. 06 Mar, 2019 1 commit
  2. 06 Aug, 2018 1 commit
  3. 17 Jan, 2018 1 commit
  4. 24 Dec, 2017 2 commits
    • 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
    • Vittorio Giovara's avatar
  5. 21 May, 2017 1 commit
  6. 21 Jan, 2017 1 commit
  7. 01 Dec, 2016 1 commit
    • Anton Mitrofanov's avatar
      Cosmetics · b2b39dae
      Anton Mitrofanov authored
      Also make x264_weighted_reference_duplicate() static.
      b2b39dae
  8. 16 Jan, 2016 1 commit
  9. 11 Oct, 2015 4 commits
    • Martin Storsjö's avatar
      arm: Implement luma intra deblocking · 654901df
      Martin Storsjö authored
      checkasm timing       Cortex-A7      A8     A9
      deblock_luma_intra[0]_c      5988    4653   4316
      deblock_luma_intra[0]_neon   3103    2170   2128
      deblock_luma_intra[1]_c      7119    5905   5347
      deblock_luma_intra[1]_neon   2068    1381   1412
      
      This includes extra optimizations by Janne Grunau.
      
      Timings from a separate build, on Exynos 5422:
      
                            Cortex-A7     A15
      deblock_luma_intra[0]_c      6627   3300
      deblock_luma_intra[0]_neon   3059   1128
      deblock_luma_intra[1]_c      7314   4128
      deblock_luma_intra[1]_neon   2038   720
      654901df
    • Martin Storsjö's avatar
      arm: Implement chroma intra deblock · 3902ae02
      Martin Storsjö authored
      checkasm timing              Cortex-A7      A8     A9
      deblock_chroma_420_intra_mbaff_c    1469    1276   1181
      deblock_chroma_420_intra_mbaff_neon 981     717    644
      deblock_chroma_intra[1]_c           2954    2402   2321
      deblock_chroma_intra[1]_neon        947     581    575
      deblock_h_chroma_420_intra_c        2859    2509   2264
      deblock_h_chroma_420_intra_neon     1480    1119   1028
      deblock_h_chroma_422_intra_c        6211    5030   4792
      deblock_h_chroma_422_intra_neon     2894    1990   2077
      3902ae02
    • Martin Storsjö's avatar
      arm: Implement x264_deblock_h_chroma_mbaff_neon · 6bbaa275
      Martin Storsjö authored
      checkasm timing        Cortex-A7      A8     A9
      deblock_chroma_420_mbaff_c    1944    1706   1526
      deblock_chroma_420_mbaff_neon 1210    873    865
      6bbaa275
    • Martin Storsjö's avatar
      arm: Implement x264_deblock_h_chroma_422_neon · 3c66591e
      Martin Storsjö authored
      checkasm timing       Cortex-A7      A8     A9
      deblock_h_chroma_422_c       6953    6269   5145
      deblock_h_chroma_422_neon    3905    2569   2551
      3c66591e
  10. 25 Jul, 2015 2 commits
  11. 23 Feb, 2015 1 commit
  12. 16 Dec, 2014 5 commits
  13. 26 Aug, 2014 1 commit
    • Janne Grunau's avatar
      aarch64: deblocking NEON asm · 1343db87
      Janne Grunau authored
      Deblock chroma/luma are based on libav's h264 aarch64 NEON deblocking
      filter which was ported by me from the existing ARM NEON asm. No
      additional persons to ask for a relicense.
      1343db87
  14. 22 Apr, 2014 1 commit
  15. 08 Jan, 2014 1 commit
  16. 20 May, 2013 1 commit
  17. 09 Jan, 2013 1 commit
  18. 08 Jan, 2013 1 commit
  19. 05 Sep, 2012 1 commit
  20. 15 May, 2012 1 commit
  21. 24 Apr, 2012 1 commit
    • Fiona Glaser's avatar
      Add mb_info API for signalling constant macroblocks · 8e57a9a0
      Fiona Glaser authored
      Some use-cases of x264 involve encoding video with large constant areas of the frame.
      Sometimes, the caller knows which areas these are, and can tell x264.
      This API lets the caller do this and adds internal tracking of modifications to macroblocks to avoid problems.
      This is really only suitable without B-frames.
      An example use-case would be using x264 for VNC.
      8e57a9a0
  22. 22 Mar, 2012 1 commit
  23. 07 Mar, 2012 1 commit
    • Fiona Glaser's avatar
      Sliced-threads: do hpel and deblock after returning · a155572e
      Fiona Glaser authored
      Lowers encoding latency around 14% in sliced threads mode with preset superfast.
      Additionally, even if there is no waiting time between frames, this improves parallelism, because hpel+deblock are done during the (singlethreaded) lookahead.
      For ease of debugging, dump-yuv forces all of the threads to wait and finish instead of setting b_full_recon.
      a155572e
  24. 06 Mar, 2012 1 commit
    • Henrik Gramner's avatar
      Fix incorrect zero-extension assumptions in x86_64 asm · 3131a19c
      Henrik Gramner authored
      Some x264 asm assumed that the high 32 bits of registers containing "int" values would be zero.
      This is almost always the case, and it seems to work with gcc, but it is *not* guaranteed by the ABI.
      As a result, it breaks with some other compilers, like Clang, that take advantage of this in optimizations.
      Accordingly, fix all x86 code by using intptr_t instead of int or using movsxd where neccessary.
      Also add checkasm hack to detect when assembly functions incorrectly assumes that 32-bit integers are zero-extended to 64-bit.
      3131a19c
  25. 04 Feb, 2012 1 commit
  26. 15 Jan, 2012 2 commits
    • Aaron Schmitz's avatar
      Some MBAFF x86 assembly functions. · 7496fc4a
      Aaron Schmitz authored
      deblock_chroma_420_mbaff, plus 422/422_intra_mbaff implemented using existing functions.
      From Google Code-In.
      7496fc4a
    • Ilia's avatar
      More 4:2:2 asm functions · e269ca55
      Ilia authored
      High bit depth version of deblock_h_chroma_422.
      Regular and high bit depth versions of deblock_h_chroma_intra_422.
      High bit depth pixel_vsad.
      SSE2 high bit depth and MMX 8-bit predict_8x8_vl.
      Our first GCI patch this year!
      e269ca55
  27. 01 Dec, 2011 1 commit
  28. 22 Oct, 2011 3 commits