khronosfws/openmax_al/src/engine/xaimagedecodercapabilitiesitf.c
changeset 16 43d09473c595
parent 12 5a06f39ad45b
equal deleted inserted replaced
14:80975da52420 16:43d09473c595
    20 #include <assert.h>
    20 #include <assert.h>
    21 #include <string.h>
    21 #include <string.h>
    22 
    22 
    23 #include "xaglobals.h"
    23 #include "xaglobals.h"
    24 #include "xaimagedecodercapabilitiesitf.h"
    24 #include "xaimagedecodercapabilitiesitf.h"
    25 #ifdef _GSTREAMER_BACKEND_  
    25   
    26 #include "XAStaticCapsAdaptation.h"
    26 #include "xacapabilitiesmgr.h"
    27 #endif
    27 
    28 /* XAImageDecoderCapabilitiesItfImpl* GetImpl
    28 /* XAImageDecoderCapabilitiesItfImpl* GetImpl
    29  * Description: Validate interface pointer and cast it to implementation pointer.
    29  * Description: Validate interface pointer and cast it to implementation pointer.
    30  */
    30  */
    31 static XAImageDecoderCapabilitiesItfImpl* GetImpl(XAImageDecoderCapabilitiesItf self)
    31 static XAImageDecoderCapabilitiesItfImpl* GetImpl(XAImageDecoderCapabilitiesItf self)
    32 {
    32 {
    70             *pDecoderId = impl->numCodecs;
    70             *pDecoderId = impl->numCodecs;
    71         }
    71         }
    72         else
    72         else
    73         {
    73         {
    74             /* query capabilities from adaptation using codec id */
    74             /* query capabilities from adaptation using codec id */
    75 #ifdef _GSTREAMER_BACKEND_  
    75   
    76             XAStaticCapsData temp;
    76             XACapabilities temp;
    77             memset(pDescriptor,0,sizeof(XAImageCodecDescriptor));
    77             memset(pDescriptor,0,sizeof(XAImageCodecDescriptor));
    78             /* here pEncoderId refers to index rather than codec id */
    78             /* here pEncoderId refers to index rather than codec id */
    79             res = XAStaticCapsAdapt_GetCapsByIdx(XACAP_DECODER|XACAP_IMAGE, *pDecoderId, &temp);
    79             res = XACapabilitiesMgr_GetCapsByIdx(NULL, (XACapsType)(XACAP_DECODER|XACAP_IMAGE), *pDecoderId, &temp);
    80             if( res == XA_RESULT_SUCCESS )
    80             if( res == XA_RESULT_SUCCESS )
    81             {
    81             {
       
    82                 XAImageCodecDescriptor* desc = (XAImageCodecDescriptor*)(&temp.pEntry);
    82                 /* map applicable values to XAAudioCodecCapabilities */
    83                 /* map applicable values to XAAudioCodecCapabilities */
    83                 pDescriptor->codecId = temp.xaid;
    84                 pDescriptor->codecId = temp.xaid;
    84                 pDescriptor->maxWidth = temp.maxW;
    85                 pDescriptor->maxWidth = desc->maxWidth;
    85                 pDescriptor->maxHeight = temp.maxH;
    86                 pDescriptor->maxHeight = desc->maxHeight;
    86             }
    87             }
    87 #endif
    88 
    88         }
    89         }
    89     }
    90     }
    90 
    91 
    91     DEBUG_API("<-XAImageDecoderCapabilitiesItfImpl_GetImageDecoderCapabilities");
    92     DEBUG_API("<-XAImageDecoderCapabilitiesItfImpl_GetImageDecoderCapabilities");
    92     return res;
    93     return res;
   110         DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
   111         DEBUG_ERR("XA_RESULT_PARAMETER_INVALID");
   111         res = XA_RESULT_PARAMETER_INVALID;
   112         res = XA_RESULT_PARAMETER_INVALID;
   112     }
   113     }
   113     else
   114     else
   114     {
   115     {
   115 #ifdef _GSTREAMER_BACKEND_
   116 
   116         res = XAStaticCapsAdapt_QueryColorFormats(pIndex, pColorFormats);
   117         res = XACapabilitiesMgr_QueryColorFormats(NULL, pIndex, pColorFormats);
   117 #endif        
   118         
   118     }
   119     }
   119     DEBUG_API("<-XAImageDecoderCapabilitiesItfImpl_QueryColorFormats");
   120     DEBUG_API("<-XAImageDecoderCapabilitiesItfImpl_QueryColorFormats");
   120     return res;
   121     return res;
   121 }
   122 }
   122 
   123 
   139         self->itf.GetImageDecoderCapabilities =
   140         self->itf.GetImageDecoderCapabilities =
   140             XAImageDecoderCapabilitiesItfImpl_GetImageDecoderCapabilities;
   141             XAImageDecoderCapabilitiesItfImpl_GetImageDecoderCapabilities;
   141         self->itf.QueryColorFormats =
   142         self->itf.QueryColorFormats =
   142             XAImageDecoderCapabilitiesItfImpl_QueryColorFormats;
   143             XAImageDecoderCapabilitiesItfImpl_QueryColorFormats;
   143 
   144 
   144 #ifdef _GSTREAMER_BACKEND_  
   145   
   145         /* init variables */
   146         /* init variables */
   146         assert( XAStaticCapsAdapt_GetCapsCount( XACAP_DECODER|XACAP_IMAGE,
   147         assert( XACapabilitiesMgr_GetCapsCount( NULL, (XACapsType)(XACAP_DECODER|XACAP_IMAGE),
   147                                   &(self->numCodecs) ) == XA_RESULT_SUCCESS );
   148                                   &(self->numCodecs) ) == XA_RESULT_SUCCESS );
   148 #endif
   149 
   149         self->self = self;
   150         self->self = self;
   150     }
   151     }
   151     DEBUG_API("<-XAImageDecoderCapabilitiesItfImpl_Create");
   152     DEBUG_API("<-XAImageDecoderCapabilitiesItfImpl_Create");
   152     return self;
   153     return self;
   153 }
   154 }