[<<][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][>>][..]