1 /*
2  * portimage.cpp, port class for image
3  *
4  * Copyright (c) 2009-2010 Wind River Systems, Inc.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
19 #include <stdlib.h>
20 #include <string.h>
21 
22 #include <OMX_Core.h>
23 #include <OMX_Component.h>
24 
25 #include <componentbase.h>
26 #include <portimage.h>
27 
28 #define LOG_TAG "portimage"
29 #include <log.h>
30 
PortImage()31 PortImage::PortImage()
32 {
33     memset(&imageparam, 0, sizeof(imageparam));
34     ComponentBase::SetTypeHeader(&imageparam, sizeof(imageparam));
35 }
36 
SetPortImageParam(const OMX_IMAGE_PARAM_PORTFORMATTYPE * p,bool internal)37 OMX_ERRORTYPE PortImage::SetPortImageParam(
38     const OMX_IMAGE_PARAM_PORTFORMATTYPE *p, bool internal)
39 {
40     if (!internal) {
41         OMX_ERRORTYPE ret;
42 
43         ret = ComponentBase::CheckTypeHeader((void *)p, sizeof(*p));
44         if (ret != OMX_ErrorNone)
45             return ret;
46         if (imageparam.nPortIndex != p->nPortIndex)
47             return OMX_ErrorBadPortIndex;
48     }
49     else
50         imageparam.nPortIndex = p->nPortIndex;
51 
52     imageparam.nIndex = p->nIndex;
53     imageparam.eCompressionFormat = p->eCompressionFormat;
54     imageparam.eColorFormat = p->eColorFormat;
55 
56     return OMX_ErrorNone;
57 }
58 
GetPortImageParam(void)59 const OMX_IMAGE_PARAM_PORTFORMATTYPE *PortImage::GetPortImageParam(void)
60 {
61     return &imageparam;
62 }
63 
64 /* end of PortImage */
65