13306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong/* ------------------------------------------------------------------
23306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * Copyright (C) 1998-2009 PacketVideo
33306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong *
43306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * Licensed under the Apache License, Version 2.0 (the "License");
53306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * you may not use this file except in compliance with the License.
63306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * You may obtain a copy of the License at
73306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong *
83306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong *      http://www.apache.org/licenses/LICENSE-2.0
93306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong *
103306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * Unless required by applicable law or agreed to in writing, software
113306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * distributed under the License is distributed on an "AS IS" BASIS,
123306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
133306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * express or implied.
143306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * See the License for the specific language governing permissions
153306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * and limitations under the License.
163306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong * -------------------------------------------------------------------$
173306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong */
183306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
193306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#ifndef M4V_H263_DECODER_PV_TYPES_H_
203306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define M4V_H263_DECODER_PV_TYPES_H_
213306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
223306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#include <stdint.h>
233306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#include <string.h>
242d3b2097320614cb088bd4eba795905c2a4130b5James Dong#include <stdlib.h> // for free, malloc, etc
253306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
263306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong// Redefine the int types
273306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongtypedef uint8_t uint8;
283306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongtypedef uint16_t uint16;
293306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongtypedef int16_t int16;
303306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongtypedef uint32_t uint32;
313306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongtypedef int32_t int32;
323306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongtypedef unsigned int uint;
333306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
343306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong// Redefine the oscl memory management routines
353306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define oscl_memcpy memcpy
363306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define oscl_memset memset
373306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define oscl_malloc malloc
383306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define oscl_free free
393306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define oscl_memcmp memcmp
403306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#define OSCL_DELETE(ptr) { delete(ptr); }
413306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
423306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong// Request status values.  These are negative so that
433306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong// they won't conflict with system error codes.
443306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongconst int32 OSCL_REQUEST_ERR_NONE = 0;
453306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongconst int32 OSCL_REQUEST_PENDING = (-0x7fffffff);
463306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongconst int32 OSCL_REQUEST_ERR_CANCEL = (-1);
473306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongconst int32 OSCL_REQUEST_ERR_GENERAL = (-2);
483306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
493306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong// Request status type
503306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dongclass OsclAOStatus
513306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong{
523306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong    public:
533306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        OsclAOStatus();
543306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        OsclAOStatus(int32 aStatus);
553306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator=(int32 aStatus);
563306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator==(int32 aStatus) const;
573306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator!=(int32 aStatus) const;
583306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator>=(int32 aStatus) const;
593306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator<=(int32 aStatus) const;
603306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator>(int32 aStatus) const;
613306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 operator<(int32 aStatus) const;
623306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 Value() const;
633306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong    private:
643306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong        int32 iStatus;
653306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong};
663306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong
673306cfee3bf38ab207a0504e49c2d492bb73ffbfJames Dong#endif  // M4V_H263_DECODER_PV_TYPES_H_
68