RE: How to integrate another decoder to my existing decoder?
Hey, As I understand, you have a single video decoder, and you want two instances running for two channels of the same decoder. In this case you are okay with having a single folder inside the /codecs/ folder for myVidDecoder. I didn't useit yet, but the way you should do it is to declare a single codec in the server .cfg file (let's say myVidDec), build the server package. Afterwards, in the app config file you should declare this codec with the same name. In the source files, in the ceapp_init() function, you should call VIDDEC_create twice with THE SAME codec name, which is the name you defined in the .cfg files, but each time with a different decHandle. From here on you have two decoder handles, each of them represents a different decoder instance with its own state (persistent memory). In order to understand how exactly to define the decoder name in the cfg files, the best way is to see in the video_copy example. Hope I helped, Erez From: davinci-linux-open-source-bounces+erezk=radvision@linux.davincidsp.c om [mailto:davinci-linux-open-source-bounces+erezk=radvision@linux.davi ncidsp.com] On Behalf Of Tivy, Robert Sent: Wednesday, February 10, 2010 2:26 AM To: Mohamed AbdElwahed; Davinci Mailing list Subject: RE: How to integrate another decoder to my existing decoder? There is a good manual here, named Codec Engine Server Integrator User's Guide: http://focus.ti.com/lit/ug/sprued5b/sprued5b.pdf. It describes what you need to do to put multiple codecs in an application. You will need to create a Codec Server that contains both your algorithms (codecs), since you can load only one server at a time on the DSP. You say you tried but didn't state details about what you tried, nor details about it failing. You will get better support if you provide more detail, but hopefully the guide I pointed to will be enough to get you going in the right direction. Regards, - Rob From: davinci-linux-open-source-boun...@linux.davincidsp.com [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of Mohamed AbdElwahed Sent: Tuesday, February 09, 2010 5:02 AM To: Davinci Mailing list Subject: How to integrate another decoder to my existing decoder? Hi all, i am using DM6446. i used the video_copy example to implement my codec, and i do it. now i do another one based also on the video_copy example but i want now to integrate both of them. note:- currently i have 2 seperate folder structures each one contains the folders named (apps, buildutils, codecs, and servers) i want to have only one folder structure for the 2 codecs. Is there any document/URL/HELP/Suggestions to do this? or this is not possible to do this at all? I tryed below but it failed i modified ceapp_init(), that open, (Engine_open()), the codec engine and create, (VIDDEC_create()), two video decoders that attached to it. as below -- // reset, load, and start DSP Engine if ((ceHandle = Engine_open(engineName, NULL, NULL)) == NULL) { printf(CEapp- ERROR: can't open engine %s\n, engineName); goto init_end; } else printf(CEapp- Engine opened %s\n, engineName); // activate DSP trace collection thread TraceUtil_start(engineName); // allocate and initialize video decoder on the engine decHandle1 = VIDDEC_create(ceHandle, decoderName1, NULL); if (decHandle == NULL) { printf(CEapp- ERROR: can't open codec %s\n, decoderName); goto init_end; } decHandle2 = VIDDEC_create(ceHandle, decoderName2, NULL); if (decHandle == NULL) { printf(CEapp- ERROR: can't open codec %s\n, decoderName); goto init_end; } // success status = 0; -- also i created two functions named ceapp_decodeBuf1() and ceapp_decodeBuf2() each one call the corresponding decoder. that is all i do, am i right or this is totally wrong or there is still other modifications that should be done and i missed!! -- your help is highly appreciated thanks Mohamed AbdElwahed Ibrahim http://graphics.hotmail.com/i.p.emthup.gif Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. Sign up now. https://signup.live.com/signup.aspx?id=60969
How to integrate another decoder to my existing decoder?
Hi all, i am using DM6446. i used the video_copy example to implement my codec, and i do it. now i do another one based also on the video_copy example but i want now to integrate both of them. note:- currently i have 2 seperate folder structures each one contains the folders named (apps, buildutils, codecs, and servers) i want to have only one folder structure for the 2 codecs. Is there any document/URL/HELP/Suggestions to do this? or this is not possible to do this at all? I tryed below but it failed i modified ceapp_init(), that open, (Engine_open()), the codec engine and create, (VIDDEC_create()), two video decoders that attached to it. as below -- // reset, load, and start DSP Engine if ((ceHandle = Engine_open(engineName, NULL, NULL)) == NULL) { printf(CEapp- ERROR: can't open engine %s\n, engineName); goto init_end; } else printf(CEapp- Engine opened %s\n, engineName); // activate DSP trace collection thread TraceUtil_start(engineName); // allocate and initialize video decoder on the engine decHandle1 = VIDDEC_create(ceHandle, decoderName1, NULL); if (decHandle == NULL) { printf(CEapp- ERROR: can't open codec %s\n, decoderName); goto init_end; } decHandle2 = VIDDEC_create(ceHandle, decoderName2, NULL); if (decHandle == NULL) { printf(CEapp- ERROR: can't open codec %s\n, decoderName); goto init_end; } // success status = 0; -- also i created two functions named ceapp_decodeBuf1() and ceapp_decodeBuf2() each one call the corresponding decoder. that is all i do, am i right or this is totally wrong or there is still other modifications that should be done and i missed!! -- your help is highly appreciated thanks Mohamed AbdElwahed Ibrahim _ Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. https://signup.live.com/signup.aspx?id=60969___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
RE: How to integrate another decoder to my existing decoder?
There is a good manual here, named Codec Engine Server Integrator User's Guide: http://focus.ti.com/lit/ug/sprued5b/sprued5b.pdf. It describes what you need to do to put multiple codecs in an application. You will need to create a Codec Server that contains both your algorithms (codecs), since you can load only one server at a time on the DSP. You say you tried but didn't state details about what you tried, nor details about it failing. You will get better support if you provide more detail, but hopefully the guide I pointed to will be enough to get you going in the right direction. Regards, - Rob From: davinci-linux-open-source-boun...@linux.davincidsp.com [mailto:davinci-linux-open-source-boun...@linux.davincidsp.com] On Behalf Of Mohamed AbdElwahed Sent: Tuesday, February 09, 2010 5:02 AM To: Davinci Mailing list Subject: How to integrate another decoder to my existing decoder? Hi all, i am using DM6446. i used the video_copy example to implement my codec, and i do it. now i do another one based also on the video_copy example but i want now to integrate both of them. note:- currently i have 2 seperate folder structures each one contains the folders named (apps, buildutils, codecs, and servers) i want to have only one folder structure for the 2 codecs. Is there any document/URL/HELP/Suggestions to do this? or this is not possible to do this at all? I tryed below but it failed i modified ceapp_init(), that open, (Engine_open()), the codec engine and create, (VIDDEC_create()), two video decoders that attached to it. as below -- // reset, load, and start DSP Engine if ((ceHandle = Engine_open(engineName, NULL, NULL)) == NULL) { printf(CEapp- ERROR: can't open engine %s\n, engineName); goto init_end; } else printf(CEapp- Engine opened %s\n, engineName); // activate DSP trace collection thread TraceUtil_start(engineName); // allocate and initialize video decoder on the engine decHandle1 = VIDDEC_create(ceHandle, decoderName1, NULL); if (decHandle == NULL) { printf(CEapp- ERROR: can't open codec %s\n, decoderName); goto init_end; } decHandle2 = VIDDEC_create(ceHandle, decoderName2, NULL); if (decHandle == NULL) { printf(CEapp- ERROR: can't open codec %s\n, decoderName); goto init_end; } // success status = 0; -- also i created two functions named ceapp_decodeBuf1() and ceapp_decodeBuf2() each one call the corresponding decoder. that is all i do, am i right or this is totally wrong or there is still other modifications that should be done and i missed!! -- your help is highly appreciated thanks Mohamed AbdElwahed Ibrahim [http://graphics.hotmail.com/i.p.emthup.gif] Your E-mail and More On-the-Go. Get Windows Live Hotmail Free. Sign up now.https://signup.live.com/signup.aspx?id=60969 ___ Davinci-linux-open-source mailing list Davinci-linux-open-source@linux.davincidsp.com http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source