Bleach.  CE 1.00 did _not_ support extended args in the VIDENC class.  Support 
was introduced in CE 1.02.  You'll have to upgrade.
 
Chris


________________________________

        From: Aysun Tasyapi [mailto:[EMAIL PROTECTED] 
        Sent: Monday, April 16, 2007 3:00 AM
        To: Ring, Chris
        Cc: [email protected]
        Subject: Re: İlgi: İlgi: Add a new parameter
        
        
        Hi Chris,
         
        I can't still  perform it ,
         
        I use XDAIS 5.0 and Codec Engine 1.0.0 and Codec Server 1.0.0.
         
        I wonder whether XDAIS 5.0 supports extension of *Inargs or not? 
        I must download XDAIS 5.10 ?
         
        Best regards.
        Aysun
         


         
        2007/4/14, Ring, Chris <[EMAIL PROTECTED]>: 

                See below...
                
                Chris
                
                > -----Original Message-----
                > From: Aysun Tasyapi [ mailto:[EMAIL PROTECTED] <mailto:[EMAIL 
PROTECTED]> ]
                > Sent: Friday, April 13, 2007 4:17 AM
                > To: Ring, Chris
                > Cc: [email protected]
                > Subject: İlgi: İlgi: Add a new parameter 
                >
                > Hi Chris,
                >
                > I am sorry. But i can't still do.
                >
                > I've performed following steps.
                >
                > 1- I've created extended struct at the DSP side (in 
videnccopy_ti.h). 
                > typedef struct IMYVIDENC_InArgs {
                >     IVIDENC_InArgs base;
                >     XDAS_Int32 weight;
                >     XDAS_Int32 threshold;
                > } IMYVIDENC_InArgs;
                
                Looks right. 
                
                > 2- At the application side i've written this struct again.  
Must i
                > change anything in ividenc.h? Must i add this struct  in 
ividenc.h?
                
                You must not change ividenc.h.  This new IMYVIDENC_InArgs 
struct is your proprietary struct - so you can manage it by duplicating in your 
app/codec as you're doing, or creating a header that both app and codec share.  
It's up to you. 
                
                > I 've written following in the ceapp.c
                > typedef struct IMYVIDENC_InArgs {
                >     IVIDENC_InArgs base;
                >     XDAS_Int32 weight;
                >     XDAS_Int32 threshold;
                > } IMYVIDENC_InArgs;
                >
                > IMYVIDENC_InArgs myInArgs;
                >
                > myInArgs.base.size = sizeof(IMYIDENC_InArgs);
                > myInArgs.threshold=100;
                > myInArgs.weight=10;
                >
                >     /* encode the frame, pass addrs of the structures we 
                > populated above */
                >     status = VIDENC_process(encHandle, &inBufDesc, 
&encodedBufDesc,
                >                              &encoderInArgs, &encoderOutArgs);
                >   But i don't know what i  write in process function. I have 
to wrtie 
                > &encoderInArgs  or &myInArgs?
                
                You must pass in &myInArgs.  That's the struct you intend to 
provide to your codec. 
                
                
                > 3- I want to acces the value of threshol at the DSP .
                >
                > in the  videnc_copy.c
                >
                > mythreshold = ((IMYVIDENC_InArgs *)inargs)->threshold; 
                > GT_1trace(curTrace, GT_ENTER, "\nmythreshold  --  %ld\n\n",
                > mythreshold);
                >
                > When i run , I see following item.
                > [DSP] mythreshold --  1093473516
                >
                > I don't understand where i am wrong. What do you suggest me? 
                > Thank you for your helping.
                >
                > best regards.
                >
                >
                > 2007/4/12, Ring, Chris <[EMAIL PROTECTED] >:
                > > You cannot modify the xDM headers - they are a formal
                > specification.  So you
                > > have to create a new extended struct, not modify the
                > existing IVIDENC_InArgs
                > > struct. 
                > >
                > > Your new extended struct (e.g. IMYVIDENC_InArgs) must have
                > the 'base xDM
                > > struct' (e.g. IVIDENC_InArgs) as its first element.  It
                > would look something
                > > like this: 
                > >
                > > ------------------------------
                > > typedef struct IMYVIDENC_InArgs {
                > >     IVIDENC_InArgs base;
                > >     XDAS_Int32 weight;
                > >     XDAS_Int32 threshold;
                > > } IMYVIDENC_InArgs;
                > > ------------------------------
                > >
                > > Then, in your application, be sure to initialize the 
base.size field
                > > correctly:
                > >
                > > ------------------------------ 
                > > IMYVIDENC_InArgs myInArgs;
                > >
                > > myInArgs.base.size = sizeof(IMYIDENC_InArgs);
                > > ------------------------------
                > >
                > > Again, this is described in more detail in the latest xDM 
                > Users Guide here:
                > > 
                http://www-s.ti.com/sc/techlit/spruec8 
<http://www-s.ti.com/sc/techlit/spruec8>  
                
                > >
                > > Chris
                > >
                > > > -----Original Message-----
                > > > From: Aysun Tasyapi [ mailto:[EMAIL PROTECTED] 
<mailto:[EMAIL PROTECTED]> ]
                > > > Sent: Thursday, April 12, 2007 5:56 AM
                > > > To: Ring, Chris
                > > > Cc: [email protected]
                > > > Subject: İlgi: Add a new parameter 
                > > >
                > > > Hi Chris,
                > > >
                > > > I am working with videnc_copy.  I've added a new 
parameter to
                > > > VIDENC_InArgs.
                > > > When i call  new paramaeter at the DSP side, i could see 
                > only first
                > > > parameter's value.
                > > >
                > > > typedef struct IVIDENC_InArgs {
                > > >    XDAS_Int32 threshold;
                > > >    XDAS_Int32 weight;
                > > >    XDAS_Int32 size; 
                > > >      } IVIDENC_InArgs;
                > > >
                > > > I couldn't see  the values of weight or etc.
                > > >
                > > > What can i do now?
                > > >
                > > > Best Regards. 
                > > >
                > > > Aysun
                > > >
                > > >
                > > >
                > > > 2007/4/11, Ring, Chris < [EMAIL PROTECTED] <mailto:[EMAIL 
PROTECTED]> >:
                > > > > If by adding a parameter, you mean adding an argument
                > to the process
                > > > > function signature, no, you can't do that.  The function
                > > > signature is a 
                > > > > part of the IVIDENC_Fxns spec and can't be changed.
                > > > >
                > > > > However, the structs passed into process (e.g.
                > > > IVIDENC_InArgs) can be
                > > > > 'extended' by updating the .size field to indicate the 
new, 
                > > > larger size
                > > > > of the struct.  There is some documentation about this 
in
                > > > section 2.3 of
                > > > > the latest xDM users guide:
                > > > >
                > > > > http://www-s.ti.com/sc/techlit/spruec8 
<http://www-s.ti.com/sc/techlit/spruec8> 
                > > > >
                > > > > If you're using the Codec Engine, you should pay 
attention
                > > > to section
                > > > > 2.3.2 as well, as there are a few additional 
constraints 
                > > > imposed by the
                > > > > Codec Engine Framework (no pointers in extensions, and 
some size
                > > > > limitations on how large the extended structs can be).
                > > > > 
                > > > > And finally, remember that *_InArgs is for application
                > -> algorithm
                > > > > communication, *_OutArgs is for algorithm -> application
                > > > communication.
                > > > > You can't use InArgs to return something from the 
algorithm
                > > > call, nor
                > > > > use OutArgs to provide something to the algorithm prior
                > to the call.
                > > > > 
                > > > > Chris
                > > > >
                > > > >
                > > > > ________________________________
                > > > >
                > > > >         From:
                > > > >
                > davinci-linux-open-source-bounces+cring= [EMAIL PROTECTED]
                > > > >
                > > > [ mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> 
                > > > avincidsp.
                > > > > com] On Behalf Of Aysun Tasyapi 
                > > > >         Sent: Wednesday, April 11, 2007 5:04 AM
                > > > >         To: 
[email protected]
                > > > >         Subject: Add a new parameter
                > > > >        
                > > > >        
                > > > >         hi all,
                > > > >         
                > > > >        
                > > > >         I've some problem with calling a parameter from
                > the DSP side.
                > > > > I've performed   with videnc_copy application. I want to
                > > > add a new input
                > > > > parameter in the *process function.
                > > > >         So that after adding this new input parameter
                > at the ARM side ,
                > > > > i want to see it  at the DSP side 
                > > > >        
                > > > >         But I couldn't see the value of this parameter
                > DSP side . I  see
                > > > > trash value.
                > > > >        
                > > > >         Is it possible to add a new parameter in the 
                > *process function?
                > > > >        
                > > > >         Best Regards.
                > > > >        
                > > > >         Aysun
                > > > >        
                > > > >         
                > > > >
                > > > >
                > > >
                > >
                > 


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

Reply via email to