Transcode - overview of libraries

Summary

As part of 1.1.0 development cycle, an huge internal reorganization effort has undergone. Reorganization isn't yet (as 1.1.0 released) complete, and will involve every component in transcode codebase. This document provide an overview of reorganized internal transcode libraries, internal dependencies and purposes.

General Warning:

transcode libraries are quite carefully designed and implemented in order to be independent, self contained as much as is possible, but they are not intended to be easily separated by transcode codebase and to be used in external projects. We don't care too much about API/ABI stability yet, and we don't do testing on this direction. Help us to improve code, or use it at own risk :)


aclib

low-level, optimized core routines.

avilib

simple AVI I/O support.

libtc

core utilities repository.

libtcaudio

audio manipulation routines.

libtcvideo

video manipulation routines.


aclib

Dependencies:
Introduced in version:

None

0.6.x or before

Description:

provides accelerated, machine-dependent, utility functions like memcpy, colorspace conversion routines and so on.

Notes:
  • "AC" stands originally for "Advanced C library, but at present day meaning of "AC" has been unspecified :)

  • Rewritten completely during 1.1.0 cycle by Andrew Church.

avilib

Dependencies:
Introduced in version:

None

0.6.x or before

Description:

provides I/O stream access to AVI files. Only multiplexing/demultiplexing, no encoding/decoding.

Notes:

Scheduled for an heavy reorganization/refactoring during 1.2.0/1.3.0 cycle.

libtc

Dependencies:
Introduced in version:

None

1.0.x

Description:

utility/helpers collection. Provides memory allocation/disposal, string manipulation, I/O helper functions. Also holds all low-level code shared between modules.

Notes:

Greatly enhanced during 1.1.0 cycle.

libtcaudio

Dependencies:
Introduced in version:

None

1.1.x

Description:

provides various audio manipulation functions used by transcode core and modules.

libtcvideo

Dependencies:
Introduced in version:

aclib

1.1.x

Description:

provides various video manipulation functions used by transcode core and modules.