[<<][davinci][>>][..]
Wed Jul 22 14:06:21 CEST 2009
VLC / TI code
Let's have a look at how these things are pieced together. A good
starting point seems to be a TI wiki[2] and the OSD2 VLC code.
Starting from vlc/configure.ac it mentions ticel-config, which can be
fond in binary-components/ti/ticel-config
This script manages the libs:
tom@zni:/opt/xc/osd2/binary-components/ti/lib$ find
.
./codec
./codec/decode_x470MV.a
./codec/encodedecode_x470MV.a
./codec/encode_x470MV.a
./visa
./visa/video.a
./visa/audio.a
./visa/speech.a
./module
./module/dsplink.lib
./module/cmem.a
./common
./common/XdmUtils.a
./common/osal_dsplink_linux.a
./common/Algorithm_noOS.a
./common/ce.a
./common/osal_dsplink_linux_6446.a
./common/TraceUtil.a
./common/acpy3.a
./common/bioslog.a
./common/gt.a
./common/alg.a
./common/dman3Cfg.a
and the include files:
tom@zni:/opt/xc/osd2/binary-components/ti/include$ find
.
./xdc
./xdc/std.h
./ti
./ti/xdais
./ti/xdais/xdas.h
./ti/xdais/ialg.h
./ti/xdais/ires.h
./ti/xdais/acpy2.h
./ti/xdais/idma3.h
./ti/xdais/idma2.h
./ti/xdais/dm
./ti/xdais/dm/ispeech1_g726.h
./ti/xdais/dm/iimgenc1.h
./ti/xdais/dm/ispeech1_amr.h
./ti/xdais/dm/iaudio.h
./ti/xdais/dm/ispeech1_pcm.h
./ti/xdais/dm/ividdec.h
./ti/xdais/dm/isphdec1.h
./ti/xdais/dm/iauddec1.h
./ti/xdais/dm/ispeech1_g723.h
./ti/xdais/dm/iaudenc.h
./ti/xdais/dm/ividanalytics.h
./ti/xdais/dm/ividdec1.h
./ti/xdais/dm/iaudenc1.h
./ti/xdais/dm/iimgdec1.h
./ti/xdais/dm/isphenc.h
./ti/xdais/dm/iimgenc.h
./ti/xdais/dm/ispeech1_smv.h
./ti/xdais/dm/ispeech1.h
./ti/xdais/dm/ividdec2.h
./ti/xdais/dm/ivideo.h
./ti/xdais/dm/iauddec.h
./ti/xdais/dm/isphdec.h
./ti/xdais/dm/iimgdec.h
./ti/xdais/dm/isphenc1.h
./ti/xdais/dm/ispeech.h
./ti/xdais/dm/xdm.h
./ti/xdais/dm/ividenc1.h
./ti/xdais/dm/ispeech1_evrc.h
./ti/xdais/dm/ividtranscode.h
./ti/xdais/dm/ividenc.h
./ti/xdais/dm/ispeech1_wbamr.h
./ti/xdais/acpy.h
./ti/xdais/idma.h
./ti/xdais/ires_common.h
./ti/sdo
./ti/sdo/ce
./ti/sdo/ce/speech1
./ti/sdo/ce/speech1/_sphdec1.h
./ti/sdo/ce/speech1/sphdec1.h
./ti/sdo/ce/speech1/sphenc1.h
./ti/sdo/ce/speech1/_sphenc1.h
./ti/sdo/ce/osal
./ti/sdo/ce/osal/Memory.h
./ti/sdo/ce/osal/Comm.h
./ti/sdo/ce/skel.h
./ti/sdo/ce/speech
./ti/sdo/ce/speech/sphenc.h
./ti/sdo/ce/speech/_sphdec.h
./ti/sdo/ce/speech/sphdec.h
./ti/sdo/ce/speech/_sphenc.h
./ti/sdo/ce/video2
./ti/sdo/ce/video2/viddec2.h
./ti/sdo/ce/video2/_viddec2.h
./ti/sdo/ce/utils
./ti/sdo/ce/utils/trace
./ti/sdo/ce/utils/trace/TraceUtil.h
./ti/sdo/ce/visa.h
./ti/sdo/ce/CERuntime.h
./ti/sdo/ce/audio1
./ti/sdo/ce/audio1/_auddec1.h
./ti/sdo/ce/audio1/_audenc1.h
./ti/sdo/ce/audio1/auddec1.h
./ti/sdo/ce/audio1/audenc1.h
./ti/sdo/ce/video
./ti/sdo/ce/video/viddec.h
./ti/sdo/ce/video/_videnc.h
./ti/sdo/ce/video/_viddec.h
./ti/sdo/ce/video/videnc.h
./ti/sdo/ce/node
./ti/sdo/ce/node/node.h
./ti/sdo/ce/Engine.h
./ti/sdo/ce/Server.h
./ti/sdo/ce/video1
./ti/sdo/ce/video1/_videnc1.h
./ti/sdo/ce/video1/videnc1.h
./ti/sdo/ce/video1/viddec1.h
./ti/sdo/ce/video1/_viddec1.h
./ti/sdo/ce/image1
./ti/sdo/ce/image1/_imgenc1.h
./ti/sdo/ce/image1/imgenc1.h
./ti/sdo/ce/image1/_imgdec1.h
./ti/sdo/ce/image1/imgdec1.h
./ti/sdo/ce/rms.h
./ti/sdo/ce/image
./ti/sdo/ce/image/imgdec.h
./ti/sdo/ce/image/imgenc.h
./ti/sdo/ce/image/_imgenc.h
./ti/sdo/ce/image/_imgdec.h
./ti/sdo/ce/trace
./ti/sdo/ce/trace/gt.h
./ti/sdo/ce/audio
./ti/sdo/ce/audio/audenc.h
./ti/sdo/ce/audio/_audenc.h
./ti/sdo/ce/audio/_auddec.h
./ti/sdo/ce/audio/auddec.h
./ti/sdo/utils
./ti/sdo/utils/trace
./ti/sdo/utils/trace/gt.h
./ti/targets
./ti/targets/arm
./ti/targets/arm/std.h
./ti/targets/std.h
./gnu
./gnu/targets
./gnu/targets/std.h
In the VLC source, the davinci code can be found here:
vlc/modules/codec/davinci
let's start with viddec.c and look at the deps. it includes:
#include "davinci.h"
#include <ti/sdo/ce/video/viddec.h>
which is in binary-components/ti/include/ti/sdo/ce/video/viddec.h
I guess CE = codec engine, SDO = ?
This header defines "The 0.9 Video Decoder Codec Interface. Provides
the user an interface to create and interact with xDAIS algorithms
that are compliant with the xDM 0.9 video decoder interface."
A VIDEC is an object supporting the following messages:
- init / deinit
- process in terms of IO buffers and arguments
- control messages
#include <ti/sdo/ce/visa.h> "The Codec Engine System Programming
Interface. Provides system developers with services necessary to
implement stubs and skeletons."
#include <ti/sdo/ce/skel.h> "The Codec Engine System Programming
Interface (SPI) for skeleton developers."
A `skeleton' seems to be a virtual class of some sort[1].
[1] http://tiexpressdsp.com/index.php/Overriding_stubs_and_skeletons
[2] http://tiexpressdsp.com/index.php/Codec_Engine_Overview
[Reply][About]
[<<][davinci][>>][..]