H.264 Codec for ESP32-S3
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 * Modified by Espressif for use by esp_h264 component
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/*------------------------------------------------------------------------------
20
21 Table of contents
22
23 1. Include headers
24 2. Module defines
25 3. Data types
26 4. Function prototypes
27
28------------------------------------------------------------------------------*/
29
30#ifndef H264SWDEC_DECODER_H
31#define H264SWDEC_DECODER_H
32
33/*------------------------------------------------------------------------------
34 1. Include headers
35------------------------------------------------------------------------------*/
36
37#include "basetype.h"
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43/*------------------------------------------------------------------------------
44 2. Module defines
45------------------------------------------------------------------------------*/
46
47/* enumerated return values of the functions */
48enum {
55};
56
57/*------------------------------------------------------------------------------
58 3. Data types
59------------------------------------------------------------------------------*/
60typedef void *h264bsd_hd_t;
61
62typedef struct {
66} h264bsd_cfg_t;
67
68#define H264BSD_CFG_DEFAULT() \
69{
70 .dualTaskEnable = 0,
71 .dualTaskCore = 1,
72 .dualTaskPriority = 17, \
73}
74
75/*------------------------------------------------------------------------------
76 4. Function prototypes
77------------------------------------------------------------------------------*/
78
79u32 h264bsdInit(h264bsd_hd_t hd, u32 noOutputReordering);
80u32 h264bsdDecode(h264bsd_hd_t hd, u8 *byteStrm, u32 *len, u8 **picture, u32 *width, u32 *height);
82u32 h264bsdDecodeInternal(h264bsd_hd_t hd, u8 *byteStrm, u32 len, u32 *readBytes, u32 *width, u32 *height);
83h264bsd_hd_t h264bsdAlloc(h264bsd_cfg_t *cfg);
85
86const char *esp_tinyh264_get_version(void);
87
88#ifdef __cplusplus
89}
90#endif
91
92#endif /* #ifdef H264SWDEC_DECODER_H */
unsigned int u32
Definition: basetype.h:34
unsigned char u8
Definition: basetype.h:30
@ H264BSD_ERROR
Definition: h264bsd_decoder.h:52
@ H264BSD_HDRS_RDY
Definition: h264bsd_decoder.h:51
@ H264BSD_MEMALLOC_ERROR
Definition: h264bsd_decoder.h:54
@ H264BSD_PARAM_SET_ERROR
Definition: h264bsd_decoder.h:53
@ H264BSD_RDY
Definition: h264bsd_decoder.h:49
@ H264BSD_PIC_RDY
Definition: h264bsd_decoder.h:50
u32 h264bsdDecode(h264bsd_hd_t hd, u8 *byteStrm, u32 *len, u8 **picture, u32 *width, u32 *height)
u32 h264bsdDecodeInternal(h264bsd_hd_t hd, u8 *byteStrm, u32 len, u32 *readBytes, u32 *width, u32 *height)
h264bsd_hd_t h264bsdAlloc(h264bsd_cfg_t *cfg)
const char * esp_tinyh264_get_version(void)
void h264bsdShutdown(h264bsd_hd_t hd)
void h264bsdFree(h264bsd_hd_t hd)
void * h264bsd_hd_t
Definition: h264bsd_decoder.h:60
u32 h264bsdInit(h264bsd_hd_t hd, u32 noOutputReordering)
u32 dualTaskEnable
Definition: h264bsd_decoder.h:63
u32 dualTaskPriority
Definition: h264bsd_decoder.h:65
u32 dualTaskCore
Definition: h264bsd_decoder.h:64