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 31 PortImage::PortImage() 32 { 33 memset(&imageparam, 0, sizeof(imageparam)); 34 ComponentBase::SetTypeHeader(&imageparam, sizeof(imageparam)); 35 } 36 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 59 const OMX_IMAGE_PARAM_PORTFORMATTYPE *PortImage::GetPortImageParam(void) 60 { 61 return &imageparam; 62 } 63 64 /* end of PortImage */ 65