Hi,

It looks like the default .cfg file is defining the codecs that could be
available in an engine.
The default encode demo seems to have an 'engine' consisting of a
mpeg4enc, g711, mpeg4dec - 3nos.
Now, the problem I faced was it was not able to 'Engine_open' a 2nd
codec-engine(having the JPEG) when another engine is already running.

Now, to bring the jpeg into the engine, I just removed the mpeg4dec and
the g711. Or, it looks like an engine can have any number of codecs- I
tried with 2 nos and it worked.

Donno clearly what is happening in the other side(MJCP). 

May be Chris could give us an idea on what exactly is happening- Thank
you again for the inputs.
And the CE_DEBUG was just a too good feature. It show every piece of
transaction happening in the system.

Here is an excerpt from the configuration I'm using - I've commented out
the MPEG4DEC as you could see.

/*
 *  ======== Engine Configuration ========
 */
var JPEGENC = xdc.useModule('ti.sdo.codecs.jpegenc.dm355.ce.JPEGENC');
var MPEG4ENC =
xdc.useModule('ti.sdo.codecs.mpeg4enc.dm355.ce.MPEG4ENC');
/*
var MPEG4DEC =
xdc.useModule('ti.sdo.codecs.mpeg4dec.dm355.ce.MPEG4DEC');
var G711ENC = xdc.useModule('ti.xdais.dm.examples.g711.ce.G711ENC');
*/

var Engine = xdc.useModule('ti.sdo.ce.Engine');
var myEngine = Engine.create("encode", [
    {name: "mpeg4enc", mod: MPEG4ENC, local: true, groupId: 1},
        {name: "jpegenc", mod: JPEGENC, local: true, groupId: 1},
]);
/*
{name: "mpeg4dec", mod: MPEG4DEC, local: true, groupId: 1},
{name: "g711enc", mod: G711ENC, local: true},
*/

Cheers,
Deepak Shankar V




-----Original Message-----
From: [email protected]
[mailto:[email protected]] On
Behalf Of Vladimir Pantelic
Sent: Saturday, March 28, 2009 8:19 PM
To: [email protected]
Cc: [email protected]
Subject: Re: Suspend MPEG and do JPEG and vice versa on the fly

Deepak Shankar-TLS,Chennai. wrote:
> Hi Chris,
> 
> I thank you a lot for this input - especially regarding the .cfg file.
> Now I'm able to do a mpeg4 and a parallel jpeg too.

so, what was the solution to the problem?

> This input has saved me from a 3 day debug session without a clue.

enlighten us :-)

> 
> Cheers,
> Deepak Shankar V
> 
> -----Original Message-----
> From: Ring, Chris [mailto:[email protected]]
> Sent: Friday, March 27, 2009 8:46 PM
> To: Deepak Shankar-TLS,Chennai.; Vladimir Pantelic; 
> [email protected]
> Cc: [email protected]
> Subject: RE: Suspend MPEG and do JPEG and vice versa on the fly
> 
> "Server" is only relevant for "remote" codecs.  Remote codecs exist on

> processors with full-blown DSP's (e.g. OMAP3, DM644x, etc) and 
> "significant" hardware accelerators (e.g. DM357).
> 
> The DM355 does _not_ have a DSP, and therefore does not have remote 
> codecs.  So there is no "server" in the system.
> 
> It may be that the first codec consumes a scarce resource (like the
> MJCP) and therefore, when creating the second codec that wants it, 
> that resource is not available.
> 
> To get a better look at what's going on, you could set CE_DEBUG=2 
> during your second codec create, and you should get more details about

> what failed.  http://tiexpressdsp.com/index.php?title=CE_DEBUG
> 
> To see if it's _really_ a resource issue, you may have to configure 
> RMAN.trace = true; in your app's .cfg script.  Something like this:
> 
>     RMAN = xdc.useModule('ti.sdo.fc.rman.RMAN');
>     RMAN.trace = true;
> 
> RMAN is the "Resource Manager" for many of the codec resources.  By 
> enabling the RMAN trace, and especially running at CE_DEBUG=2 or =3, 
> you can get further insight into what resources each codec is asking 
> for, and whether it's "persistent" (non-shareable) or "scratch" 
> (shareable, but with a context save/restore overhead).
> 
> Chris
> 
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]
>> ] On Behalf Of Deepak Shankar-TLS,Chennai.
>> Sent: Friday, March 27, 2009 5:56 AM
>> To: Vladimir Pantelic; [email protected]
>> Cc: [email protected]
>> Subject: RE: Suspend MPEG and do JPEG and vice versa on the fly
>>
>>
>> Hi,
>>
>> Thanks a lot for the inputs.
>>
>> I think the codecs are running in the same server - for if I 
>> dynamically kill the MPEG application and do a JPEG its working very 
>> well. Just that I'm trying to do it in parallel. However is it 
>> possible to program where the codec should run- by server I was 
>> thinking the MJCP can work only as a single server(DSP server??) in 
>> the DM355 for the ARM. Or is there a mechanism I could run 2 servers 
>> on the same DSP... Please provide you inputs.
>>
>> Is there any other option in the DM355 to make it work in parallel.
>> Further Could you please suggest me a point to dig in the 
>> DVSDK/(documentation or code) if its ever possible to make the JPEG 
>> and MPEG run in parallel or is it a HW limitation?
>>
>> Thank you
>>
>> Cheers,
>> Deepak Shankar V
>>
>> -----Original Message-----
>> From: [email protected]
>> [mailto:[email protected]] On 
>> Behalf Of Vladimir Pantelic
>> Sent: Friday, March 27, 2009 12:36 PM
>> To: [email protected]
>> Cc: [email protected]
>> Subject: Re: Suspend MPEG and do JPEG and vice versa on the fly
>>
>> Deepak Shankar-TLS,Chennai. wrote:
>>> Hello all,
>>>
>>> I'm using the dm355-DVSDK, Montavista Linux and trying the demos - 
>>> encode and JPEG. All those are working very well when run
>> as separate
>>> processes.
>>>
>>> However, Now I'm trying to build a custom application which
>> can do a
>>> MPEG or JPEG based on some external events.
>>> Something like when the GPIO is high dump an MPEG file. 
>> When it is low
>>
>>> capture a jpeg image every 1 second.
>>>
>>> The problem is I'm not able to use both the JPEG and the
>> MPEG codecs
>>> simultaneously. When the MPEG compression is in progress, a call to 
>>> the 'IMGENC1_create(ce, encoderName, &encParams)' is
>> failing. Is this
>>> a inherent nature of MJCP. Should I have to deinit the MPEG
>> resources
>>> when I want to do a JPEG, or is there a better way to do that.
>> are the two codecs in the same server? if not, it cannot work. you 
>> will
>>   have to unload one to load the other I think. Even if they are in 
>> the same server, there could be system resources that cannot be 
>> shared, so a gain they would not work in parallel.
>>
>>
>> _______________________________________________
>> Davinci-linux-open-source mailing list 
>> [email protected]
>> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-sourc
>> e
>>
>> DISCLAIMER:
>> --------------------------------------------------------------
>> ---------------------------------------------------------
>>
>> The contents of this e-mail and any attachment(s) are confidential 
>> and
> 
>> intended for the named recipient(s) only.
>> It shall not attach any liability on the originator or HCL or its 
>> affiliates. Any views or opinions presented in this email are solely 
>> those of the author and may not necessarily reflect the opinions of 
>> HCL or its affiliates.
>> Any form of reproduction, dissemination, copying, disclosure, 
>> modification, distribution and / or publication of this message 
>> without the prior written consent of the author of this e-mail is 
>> strictly prohibited. If you have received this email in error please 
>> delete it and notify the sender immediately. Before opening any mail 
>> and attachments please check them for viruses and defect.
>>
>> --------------------------------------------------------------
>> ---------------------------------------------------------
>>
>> _______________________________________________
>> Davinci-linux-open-source mailing list 
>> [email protected]
>> http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-sourc
>> e
>>
> 


_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to