[x264-devel] [PATCHv3 00/29] bitdepth at runtime

Vittorio Giovara vittorio.giovara at gmail.com
Fri Feb 10 22:18:35 CET 2017


Changes since v2:
- the existing linking hijack is not modified, and it is taken
  care of internally
- a couple of Makefile rules are simplified so that it doesn't need
  to call mkdir every time (suggested by Diego)
- the static functions rename is added to the set

Vittorio

Vittorio Giovara (29):
  Drop the x264-prefix from static functions
  arm: Set the function symbol prefix in a single location
  aarch64: Set the function symbol prefix in a single location
  common: Move log helper functions to a separate file
  log: Add an internal log function and use it where needed
  osdep: Decouple module from common.h
  cpu: Decouple module from common.h
  common: Move memory functions to a separate file
  common: Move picture functions to a separate file
  common: Move mathematics functions to a separate file
  mathematics: Move LUTs to the common file
  common: Move parameter functions to a separate file
  common: Move shared tables to a common file
  param: Modify default qp parameters to maximum allowable
  Adjust headers to make x264cli independent of common.h
  Add API to set bitdepth at runtime
  Templatize the public API
  Move global symbols to the implementation file
  Makefile: Split core and bitdepth-dependent modules
  Templatize the main C library code
  Templatize x86/x86_64 assembly code
  Templatize ARM assembly code
  Templatize AARCH64 assembly code
  Templatize PowerPC assembly code
  x264cli: Duplicate depth and cache filters
  x264cli: Duplicate threaded input module
  x264cli: Add --output-depth command line option
  Restore bitdepth selection at configure time
  Duplicate checkasm targets

 Makefile                     |  131 +++-
 common/aarch64/asm.S         |   19 +-
 common/aarch64/bitstream-a.S |    2 +-
 common/aarch64/cabac-a.S     |   10 +-
 common/aarch64/dct-a.S       |  106 ++--
 common/aarch64/dct.h         |   27 +
 common/aarch64/deblock-a.S   |   36 +-
 common/aarch64/mc-a.S        |  104 ++--
 common/aarch64/mc-c.c        |   59 +-
 common/aarch64/mc.h          |    1 +
 common/aarch64/pixel-a.S     |   92 +--
 common/aarch64/pixel.h       |   55 ++
 common/aarch64/predict-a.S   |   66 +-
 common/aarch64/predict.h     |   71 +++
 common/aarch64/quant-a.S     |   44 +-
 common/aarch64/quant.h       |   21 +
 common/api.c                 |  201 ++++++
 common/arm/asm.S             |   19 +-
 common/arm/bitstream-a.S     |    2 +-
 common/arm/cpu-a.S           |   12 +-
 common/arm/dct-a.S           |   94 +--
 common/arm/dct.h             |   17 +
 common/arm/deblock-a.S       |   30 +-
 common/arm/mc-a.S            |  129 ++--
 common/arm/mc-c.c            |   61 +-
 common/arm/mc.h              |    1 +
 common/arm/pixel-a.S         |  118 ++--
 common/arm/pixel.h           |   79 +++
 common/arm/predict-a.S       |   60 +-
 common/arm/predict.h         |   36 ++
 common/arm/quant-a.S         |   32 +-
 common/arm/quant.h           |   18 +
 common/bitstream.c           |   19 +-
 common/bitstream.h           |   13 +-
 common/cabac.c               |  105 +---
 common/cabac.h               |   11 +
 common/common.c              | 1402 ------------------------------------------
 common/common.h              |  112 +---
 common/cpu.c                 |    7 +-
 common/cpu.h                 |    2 +
 common/dct.c                 |   64 --
 common/dct.h                 |    7 +-
 common/deblock.c             |   59 +-
 common/frame.c               |   26 +-
 common/frame.h               |   32 +
 common/{x86/mc.h => log.c}   |   41 +-
 common/{x86/mc.h => log.h}   |   20 +-
 common/macroblock.c          |  116 ++--
 common/macroblock.h          |   20 +
 common/mathematics.c         |   86 +++
 common/mathematics.h         |  113 ++++
 common/mc.c                  |   26 +-
 common/mc.h                  |    9 +-
 common/mem.c                 |  126 ++++
 common/{x86/mc.h => mem.h}   |   25 +-
 common/mvpred.c              |   18 +-
 common/opencl.c              |   30 +-
 common/osdep.c               |    6 +-
 common/osdep.h               |    5 +
 common/{common.c => param.c} |  317 +---------
 common/picture.c             |  107 ++++
 common/pixel.c               |    4 +-
 common/pixel.h               |   24 +
 common/ppc/dct.h             |   16 +
 common/ppc/mc.c              |   56 +-
 common/ppc/mc.h              |    1 +
 common/ppc/pixel.c           |   25 +-
 common/ppc/pixel.h           |    1 +
 common/ppc/predict.h         |    2 +
 common/ppc/quant.h           |    6 +
 common/predict.c             |  112 ++--
 common/predict.h             |   23 +
 common/quant.c               |   62 +-
 common/quant.h               |    1 +
 common/rectangle.h           |    9 +-
 common/set.c                 |   18 +-
 common/set.h                 |    4 +
 common/{vlc.c => tables.c}   |  422 +++++++++----
 common/tables.h              |   69 +++
 common/threadpool.c          |   12 +-
 common/threadpool.h          |    4 +
 common/vlc.c                 |  710 ---------------------
 common/{x86/mc.h => vlc.h}   |   13 +-
 common/win32thread.c         |    4 +-
 common/x86/cabac-a.asm       |   24 +-
 common/x86/dct.h             |   95 +++
 common/x86/mc-c.c            |  183 +++++-
 common/x86/mc.h              |    1 +
 common/x86/pixel.h           |  396 ++++++++++++
 common/x86/predict-c.c       |    4 +-
 common/x86/predict.h         |  111 ++++
 common/x86/quant-a.asm       |    4 +-
 common/x86/quant.h           |   98 +++
 common/x86/trellis-64.asm    |   22 +-
 common/x86/x86inc.asm        |    7 +
 configure                    |   24 +-
 encoder/analyse.c            |  415 ++++++-------
 encoder/analyse.h            |   11 +
 encoder/cabac.c              |  359 +++++------
 encoder/cavlc.c              |  130 ++--
 encoder/encoder.c            |  320 +++++-----
 encoder/lookahead.c          |   32 +-
 encoder/macroblock.c         |   50 +-
 encoder/macroblock.h         |   24 +-
 encoder/me.c                 |    7 +-
 encoder/me.h                 |    7 +
 encoder/ratecontrol.c        |   36 +-
 encoder/ratecontrol.h        |   21 +
 encoder/rdo.c                |   41 +-
 encoder/set.c                |   29 +-
 encoder/set.h                |   16 +
 encoder/slicetype-cl.c       |   27 +-
 encoder/slicetype.c          |  179 +++---
 filters/filters.c            |    2 +
 filters/video/cache.c        |   10 +-
 filters/video/depth.c        |   23 +-
 filters/video/fix_vfr_pts.c  |    1 +
 filters/video/resize.c       |    6 +-
 filters/video/select_every.c |    6 +-
 filters/video/video.c        |   10 +-
 input/avs.c                  |    4 +-
 input/input.c                |    9 +-
 input/input.h                |    8 +-
 input/lavf.c                 |    2 +
 input/thread.c               |    4 +
 input/timecode.c             |    3 +
 input/y4m.c                  |    2 +
 output/flv.c                 |    3 +
 output/flv_bytestream.c      |    1 +
 output/flv_bytestream.h      |    2 +
 output/matroska_ebml.c       |    3 +
 output/mp4_lsmash.c          |    1 +
 output/raw.c                 |    1 +
 tools/checkasm-aarch64.S     |    4 +-
 tools/checkasm-arm.S         |    8 +-
 tools/checkasm.c             |    5 +
 x264.c                       |   55 +-
 x264.h                       |   22 +-
 x264cli.h                    |    5 +-
 139 files changed, 4569 insertions(+), 4579 deletions(-)
 create mode 100644 common/api.c
 copy common/{x86/mc.h => log.c} (56%)
 copy common/{x86/mc.h => log.h} (74%)
 create mode 100644 common/mathematics.c
 create mode 100644 common/mathematics.h
 create mode 100644 common/mem.c
 copy common/{x86/mc.h => mem.h} (70%)
 copy common/{common.c => param.c} (80%)
 create mode 100644 common/picture.c
 copy common/{vlc.c => tables.c} (63%)
 create mode 100644 common/tables.h
 copy common/{x86/mc.h => vlc.h} (88%)

-- 
2.10.0



More information about the x264-devel mailing list