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 } |