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