XenevaOS
Loading...
Searching...
No Matches
h264bsd_decoder.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2009 The Android Open Source Project
3 * Modified for use by h264bsd standalone library
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*------------------------------------------------------------------------------
19
20 Table of contents
21
22 1. Include headers
23 2. Module defines
24 3. Data types
25 4. Function prototypes
26
27------------------------------------------------------------------------------*/
28
29#ifndef H264SWDEC_DECODER_H
30#define H264SWDEC_DECODER_H
31
32/*------------------------------------------------------------------------------
33 1. Include headers
34------------------------------------------------------------------------------*/
35
36#include "basetype.h"
37
38#include "h264bsd_storage.h"
39
40/*------------------------------------------------------------------------------
41 2. Module defines
42------------------------------------------------------------------------------*/
43
44/* enumerated return values of the functions */
45enum {
52};
53
54/*------------------------------------------------------------------------------
55 3. Data types
56------------------------------------------------------------------------------*/
57
58
59
60/*------------------------------------------------------------------------------
61 4. Function prototypes
62------------------------------------------------------------------------------*/
63
64u32 h264bsdInit(storage_t *pStorage, u32 noOutputReordering);
65u32 h264bsdDecode(storage_t *pStorage, u8 *byteStrm, u32 len, u32 picId,
66 u32 *readBytes);
67void h264bsdShutdown(storage_t *pStorage);
68
69u8* h264bsdNextOutputPicture(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs);
70u32* h264bsdNextOutputPictureRGBA(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs);
71u32* h264bsdNextOutputPictureBGRA(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs);
72u32* h264bsdNextOutputPictureYCbCrA(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs);
73
78void h264bsdCroppingParams(storage_t *pStorage, u32 *croppingFlag,
79 u32 *left, u32 *width, u32 *top, u32 *height);
81 u32 *sarWidth, u32 *sarHeight);
83
84void h264bsdFlushBuffer(storage_t *pStorage);
85
87
89void h264bsdFree(storage_t *pStorage);
90
91void h264bsdConvertToRGBA(u32 width, u32 height, u8* data, u32 *pOutput);
92void h264bsdConvertToBGRA(u32 width, u32 height, u8* data, u32 *pOutput);
93void h264bsdConvertToYCbCrA(u32 width, u32 height, u8* data, u32 *pOutput);
94
95#endif /* #ifdef H264SWDEC_DECODER_H */
96
@ H264BSD_ERROR
Definition h264bsd_decoder.h:49
@ H264BSD_HDRS_RDY
Definition h264bsd_decoder.h:48
@ H264BSD_MEMALLOC_ERROR
Definition h264bsd_decoder.h:51
@ H264BSD_PARAM_SET_ERROR
Definition h264bsd_decoder.h:50
@ H264BSD_RDY
Definition h264bsd_decoder.h:46
@ H264BSD_PIC_RDY
Definition h264bsd_decoder.h:47
void h264bsdConvertToYCbCrA(u32 width, u32 height, u8 *data, u32 *pOutput)
Definition h264bsd_decoder.c:1324
u32 * h264bsdNextOutputPictureRGBA(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs)
Definition h264bsd_decoder.c:648
u32 h264bsdMatrixCoefficients(storage_t *pStorage)
Definition h264bsd_decoder.c:928
u32 h264bsdVideoRange(storage_t *pStorage)
Definition h264bsd_decoder.c:893
u8 * h264bsdNextOutputPicture(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs)
Definition h264bsd_decoder.c:599
storage_t * h264bsdAlloc()
Definition h264bsd_decoder.c:1110
void h264bsdConvertToRGBA(u32 width, u32 height, u8 *data, u32 *pOutput)
Definition h264bsd_decoder.c:1163
void h264bsdCroppingParams(storage_t *pStorage, u32 *croppingFlag, u32 *left, u32 *width, u32 *top, u32 *height)
Definition h264bsd_decoder.c:970
u32 h264bsdPicHeight(storage_t *pStorage)
Definition h264bsd_decoder.c:806
u32 h264bsdPicWidth(storage_t *pStorage)
Definition h264bsd_decoder.c:771
void h264bsdSampleAspectRatio(storage_t *pStorage, u32 *sarWidth, u32 *sarHeight)
Definition h264bsd_decoder.c:1019
u32 * h264bsdNextOutputPictureYCbCrA(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs)
Definition h264bsd_decoder.c:732
u32 h264bsdProfile(storage_t *pStorage)
Definition h264bsd_decoder.c:1084
u32 h264bsdDecode(storage_t *pStorage, u8 *byteStrm, u32 len, u32 picId, u32 *readBytes)
Definition h264bsd_decoder.c:152
u32 * h264bsdNextOutputPictureBGRA(storage_t *pStorage, u32 *picId, u32 *isIdrPic, u32 *numErrMbs)
Definition h264bsd_decoder.c:690
void h264bsdConvertToBGRA(u32 width, u32 height, u8 *data, u32 *pOutput)
Definition h264bsd_decoder.c:1244
void h264bsdShutdown(storage_t *pStorage)
Definition h264bsd_decoder.c:534
void h264bsdFree(storage_t *pStorage)
Definition h264bsd_decoder.c:1133
u32 h264bsdCheckValidParamSets(storage_t *pStorage)
Definition h264bsd_decoder.c:864
void h264bsdFlushBuffer(storage_t *pStorage)
Definition h264bsd_decoder.c:834
u32 h264bsdInit(storage_t *pStorage, u32 noOutputReordering)
Definition h264bsd_decoder.c:90
size_t len
Definition initial.c:23
void * data
Definition kthread.h:30
uint8_t u8
Definition kernel.h:14
uint32_t u32
Definition kernel.h:16
@ top
Definition p_spec.h:217
Definition h264bsd_storage.h:76