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