Texas Instruments Codec Engine Server manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

Go to page of

A good user manual

The rules should oblige the seller to give the purchaser an operating instrucion of Texas Instruments Codec Engine Server, along with an item. The lack of an instruction or false information given to customer shall constitute grounds to apply for a complaint because of nonconformity of goods with the contract. In accordance with the law, a customer can receive an instruction in non-paper form; lately graphic and electronic forms of the manuals, as well as instructional videos have been majorly used. A necessary precondition for this is the unmistakable, legible character of an instruction.

What is an instruction?

The term originates from the Latin word „instructio”, which means organizing. Therefore, in an instruction of Texas Instruments Codec Engine Server one could find a process description. An instruction's purpose is to teach, to ease the start-up and an item's use or performance of certain activities. An instruction is a compilation of information about an item/a service, it is a clue.

Unfortunately, only a few customers devote their time to read an instruction of Texas Instruments Codec Engine Server. A good user manual introduces us to a number of additional functionalities of the purchased item, and also helps us to avoid the formation of most of the defects.

What should a perfect user manual contain?

First and foremost, an user manual of Texas Instruments Codec Engine Server should contain:
- informations concerning technical data of Texas Instruments Codec Engine Server
- name of the manufacturer and a year of construction of the Texas Instruments Codec Engine Server item
- rules of operation, control and maintenance of the Texas Instruments Codec Engine Server item
- safety signs and mark certificates which confirm compatibility with appropriate standards

Why don't we read the manuals?

Usually it results from the lack of time and certainty about functionalities of purchased items. Unfortunately, networking and start-up of Texas Instruments Codec Engine Server alone are not enough. An instruction contains a number of clues concerning respective functionalities, safety rules, maintenance methods (what means should be used), eventual defects of Texas Instruments Codec Engine Server, and methods of problem resolution. Eventually, when one still can't find the answer to his problems, he will be directed to the Texas Instruments service. Lately animated manuals and instructional videos are quite popular among customers. These kinds of user manuals are effective; they assure that a customer will familiarize himself with the whole material, and won't skip complicated, technical information of Texas Instruments Codec Engine Server.

Why one should read the manuals?

It is mostly in the manuals where we will find the details concerning construction and possibility of the Texas Instruments Codec Engine Server item, and its use of respective accessory, as well as information concerning all the functions and facilities.

After a successful purchase of an item one should find a moment and get to know with every part of an instruction. Currently the manuals are carefully prearranged and translated, so they could be fully understood by its users. The manuals will serve as an informational aid.

Table of contents for the manual

  • Page 1

    Codec Engine Serv er Integrator User's Guide Literature Number: SPRUED5B September 2 007[...]

  • Page 2

    IMPORT ANT NOTICE T exas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, im prove- ments, and other changes to it s products an d services at any time and to discontinue any product or service without notice. Cus tomers should obtain the latest relevant information before placin[...]

  • Page 3

    iii This is a draft version printed from file: pref.fm on 9/25/07 Preface About This Book The inten ded audience fo r this doc ument is the Server Integ rator , wh o creates a Codec Serv er for use by th e Engi ne Integrato r and thus th e Applic ation Auth or . This manua l tell s what steps the Server Inte grator s hould take to configur e DSP/B [...]

  • Page 4

    iv Not ational C onvent ions Notational Con ventions This doc ument uses the foll owing con ventions: ❏ Progra m listings , program e xampl es, and in teractive display s are shown in a special typeface . Ex ample s use a bold version of the special typeface for emphasis; in terac tive displ ays use a bold version of the s pecial type face to dis[...]

  • Page 5

    v This is a draft version printed from file: ce_serv_integTOC.fm on 9/25/07 Content s 1 Codec Engine Overvi ew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 -1 This cha pter intr oduce s the Code c Engine . 1.1 What is the Codec Eng ine? . . . . . . . . . . . . . . . . . . . . . . . . . .[...]

  • Page 6

    -vi[...]

  • Page 7

    1-1 Chap ter 1 Codec Engine Overview This cha pter introd uces the Codec E ngine . 1.1 What is the Codec Engi ne? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 – 2 1.2 Why Should I Use It? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 – 3 1.3 Where Does th e Codec Engine Fit into My Arc hitect[...]

  • Page 8

    What is the Code c Engi ne? 1-2 1.1 What is the Codec Engine ? From th e applic ation dev eloper ’s p erspect ive, the Codec Eng ine is a set of APIs that you use to instantia te and run x DAIS a lgorithms . A VI SA interfac e is prov ided a s well fo r interac ting wi th xDM-co mplian t xDAIS algorit hms. The API is the same for all of the foll [...]

  • Page 9

    Why Should I Use It? Codec Engine O verview 1-3 1.2 Why Should I Use It? The Code c Eng ine is des igned to s olve s ome comm on probl ems associ ated with developi ng system -on-a-c hip (SoC) app lica tions. The most si gnifican t problem s incl ude: ❏ Debugging in a h eterogen eous p rocessor environm ent ca n be painful. Th ere are mul tiple d[...]

  • Page 10

    Where D oes the Co dec Eng ine Fit in to My Arch itecture? 1-4 1.3 Where Does the Codec Engine Fit into My Architecture? The appli ca tio n code (or the m idd le ware it use s) cal ls the Code c Engin e APIs. W ithin the Co dec En gine, th e VISA APIs us e stub s and s keletons to acces s the core e ngine an d the actual c odecs , which may be loca[...]

  • Page 11

    Where Do es the C odec Engi ne Fit into My Arc hitecture ? Codec Engine O verview 1-5 The follow ing figure is a modificatio n of the previo us diagram that shows how this arc hitecture is dis tributed in a GPP+DSP sys tem. In this example , yellow portion s run on the GPP , and grey por tions run on the DSP . This is, the vid eo encoder skele ton [...]

  • Page 12

    What Are th e User Ro les? 1-6 1.4 Wha t Are t h e User Rol es? The Co dec E ngi ne ha s seve ral cu stom er us e ca ses, fr om GPP-side applica tion dev elopers to DSP-sid e codec authors . Is some cases, th ese roles m ay be pl ayed by a sing le perso n. In other deve lopment environme nts, a different develope r may be assigne d each ro le. This[...]

  • Page 13

    What Are th e User Rol es? Codec Engine O verview 1-7 1.4.2 Server Integrat or T o supp ort Engi nes with remo te co decs, a Codec Server m ust b e created . The Codec Server in tegrat es the vario us compon ents necessar y to house the codec s (e.g. DSP/B IOS, Fram ework Compon ents, link dr ivers, codecs , Codec Engin e, etc. ) and g enerates an [...]

  • Page 14

    What Are th e User Ro les? 1-8 1.4.3 Engine Integrat or The Engi ne Integrato r defines various Eng ine config urations . This ca n include the nam es of the E ngines, a s well as the codec s and the ir names within each E ngine, whether each co dec is local o r remo te relati ve to th e applica tion, which gr oups each codec should be i ntegrated [...]

  • Page 15

    Wher e Ca n I Ge t M ore Info rma tion? Codec Engine O verview 1-9 ❏ V a rious Codec packages fro m Algorith m Creators ❏ A Codec Ser ver DSP exec utable fr om the S erve r In tegrato r if co dec will run on a DSP ❏ An Engi ne config file (.cfg) from the En gine Integ rator The Ap plicatio n Auth or write ap plic ation co de, gen erates outpu[...]

  • Page 16

    1-10[...]

  • Page 17

    2-1 Chap ter 2 Configuring a Codec Server This cha pter des cribes h ow the Server In tegrator should configur e a Code c Ser ver for us e by the En gine Int egr ator . 2.1 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 – 2 2.2 Creating a Codec Server . . . . . . . . . . . . . . . . . . .[...]

  • Page 18

    Overvi ew 2-2 2.1 Ove rvie w As desc ribed i n Secti on 1.4.2 , Server In tegrator , the Server Integ rator provid es a Cod ec Serve r to th e Engine Integra tor . In pr actice, these rol es may be s hared by one pe rson. There ar e two co nfigurat ion steps tha t the Se rver Integ rator pe rforms: ❏ Configur e DSP/BIO S throug h a T con f script[...]

  • Page 19

    Overview Conf igur ing a Code c Ser ver 2-3 2.1.1 What is a Codec Server? A C odec Ser ver is a b inary th at integr ates code cs, fram ework componen ts , and sy stem code. When the Codec Serve r is on a DSP , it uses DSP/BIO S as the DSP kernel . In the cont ext of t he DaVinci DM644x platforms ( and other GPP+DSP platform s), a Codec Ser ver is [...]

  • Page 20

    Overvi ew 2-4 ■ A messa ge queue is created to allow th e remote no de to recei ve commands from the GPP . ■ The node -speci fic "c reate" fu nction ( for exam ple, AUDENC_ create() ) is called to in itial ize the node state an d algorit hm-specif ic memory and resource s. (Note that th is call is made from within th e dispatcher e xe[...]

  • Page 21

    Overview Conf igur ing a Code c Ser ver 2-5 ■ Any alg orith m scratch memor y is the n "deacti vated". ■ The skele ton writeb acks ou tput buffers to en sure that CPU wri tes to the cac he are flus hed to external me mory . ■ The node 's thread then replies with the s t atus bac k to the GPP and then bl ocks waiti ng for th e n[...]

  • Page 22

    Overvi ew 2-6 2.1.4 What Algorit hms Can a Codec Server Integra te? Y ou can use any algorit hm that is xDM-co mplian t in a Code c Serv er . In additi on, if you want to use a xDA IS-com pliant algor ithm that is no t xDM-co mplia nt, you c an firs t implem ent yo ur own s tubs and skeleton s for that algor ithm, and then us e that algo rithm in a[...]

  • Page 23

    Crea ting a Code c Se rver Conf igur ing a Code c Ser ver 2-7 2.2 Creat ing a Codec S erver T o crea t e a Co de c S er ve r , you p er f orm t he f o ll ow i ng co n f ig ur at i on st e p s: ❏ Configur e DSP/BIO S throug h a T con f script ❏ Config ure "the rest" o f the compo nents throu gh XDC configu ratio n (for exampl e, Framew[...]

  • Page 24

    Crea ting a Code c Se rver 2-8 3) Ed it the exa mples/xdcpaths.m ak file wi th a text ed itor to spec ify the CE_INST ALL_DIR, X DC_ROOT , and BIOS _ROOT vari ables. Again, see exa mples/bu ild_instr uctions .html fo r details. 4) Ma ke a duplica te of one of the Codec Server exam ples in the example s/server s directo ry . Each of these directo ri[...]

  • Page 25

    Crea ting a Code c Se rver Conf igur ing a Code c Ser ver 2-9 T o see documentation for the att ributes o f the Serve r module, fo llow thes e ste ps: 1) Open CE_INS T ALL _DIR/xdoc/ index. html to s ee the Conf iguratio n Referenc e. Dependin g on yo ur browser , you may ne ed to en able active content to view th e list of nod es on the left. 2) C[...]

  • Page 26

    Crea ting a Code c Se rver 2-10 For exampl e, these stateme nts from the vid eo_copy .cfg fi le have been modi fied (bol d text) to refere nce the spee ch enc oder/de coder . /* get various codec modules ; i.e. codec implementati ons */ var SPH DEC_ COPY = xdc .useM odule( 'code cs. sph dec_copy. SPH DEC_COPY' ); var SPH ENC_ COPY = xdc .[...]

  • Page 27

    Crea ting a Code c Se rver Conf igur ing a Code c Ser ver 2-1 1 2.2.3.1 Controlling I/O Buff er Caching for xDM 0.9 Codecs The DSP ser ver's supp ort—the "s keleton s"—for r emote exec ution of codecs written for xDM 0.9 always manage s the cache fo r all codec I/O buffers exchan ged with the ARM ap plicati on. This can be a p er[...]

  • Page 28

    Crea ting a Code c Se rver 2-12 2.2.3.2 Specifying "Scratch G roup" an d DMA Res ources fo r a Codec When yo u put together s everal co decs into a si ngle DSP ser ver , you may need to make them share m emory a nd DMA resour ces. T wo co decs can share what is called a "scratc h" me mory . This i s a working memory ar ea, typic[...]

  • Page 29

    Crea ting a Code c Se rver Conf igur ing a Code c Ser ver 2-13 How you defi ne the grou pId field can affect pe rformance or whether a codec ca n be created at all. For detailed informati on on share d scratch memory , see the Fram ework Compon ents documenta tion. Y ou may save some ti me by read ing th e com mentary for the s erver configu ratio [...]

  • Page 30

    Crea ting a Code c Se rver 2-14 Engine.algs[].groupId For ea ch loca l algorith m, if the o ptional groupI d field is uninitializ ed, the algorit hm is confi gured into its own, uniqu e groupId. T his is be cause we don't know w hat prior ity the a lgorithm wil l run at, so we plac e it into a unique gr oup to pr event preem ption b y any oth [...]

  • Page 31

    Crea ting a Code c Se rver Conf igur ing a Code c Ser ver 2-15 2.2.4.1 DSP/BIOS Thr eads and Module Use Each “ remote” algor ithm instance that runs on the DSP exe cutes in a DSP/BIO S thread whos e priority is specifie d by a static configu ration parameter ( see ti.sdo .ce.Se rver). The sta ck size of the thread that r uns a “remote ” alg[...]

  • Page 32

    Deliveri ng a Cod ec Server 2-16 Change the bold te xt in the f ollowi ng line t o match your ser ver nam e: var serverName = " my_server "; When you have fini shed de velopme nt, you m ay want to c hange "deb ug" in the following line to " rele ase": Pkg.attrs.profile = " release "; Do not e dit package.mak [...]

  • Page 33

    Deli veri ng a Co dec Serve r Conf igur ing a Code c Ser ver 2-17 In additi on to includ ing th e server exe cutable in the ser ver pack age, yo u must als o add the gene rated package/i nfo/* files to th e package. Thes e files c ontain infor matio n in tex t form a bout the code cs inclu ded in the server , the ser ver's memory map, an d oth[...]

  • Page 34

    Deliveri ng a Cod ec Server 2-18 DSP server s built with Configuro do not require a p ackag e to build the server itself, but y ou m ust cre ate one t o pro duce a s erver de livera ble. I n that package, you mu st inclu de both the s erver ex ecutable a nd the Config uro-gener ated "packag e/info/ *" files. While ea ch Con figuro- using [...]

  • Page 35

    Index- 1 This is a draft version printed from file: ce_serv_integIX.fm on 9/25/07 Index A algorithm 2- 6 specify ing 2- 10 Algorithm Creator 1-6, 2 -2 all.tcf f ile 2-1 4 API Referenc e 1-9 Applicat ion Auth or 1-8 arr ay 2-1 1, 2 -13, 2-14 B Back button 2-9 benef its of Code c Engin e 1-3 binary fi le 2-3 BIOS_ ROOT en viro nmen t varia ble 2 -8 b[...]

  • Page 36

    Index-2 Index L link.c md file 2-7, 2-16 linker c ommand s 2-16 Linux 1- 2 local codecs 2-5 M main.c file 2-7, 2 -16 makefi le 2-15, 2-1 6 middl ewar e 1-4 MINPRI attribute 2-9 N name o f serv er 2 - 16 O online hel p 1-9 P pac kage creating 2-7 dire ctory path 2- 8 making a cop y 2-8 naming 2-8 pac k a ge di rect ory 2- 16 packag e.b ld file 2-7, [...]