wut  v1.5.0
Wii U Toolchain
decode.h
Go to the documentation of this file.
1 #pragma once
2 #include "stream.h"
3 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
15 typedef enum H264Parameter
16 {
19 
23 
27 
31 
32 
37 H264DECMemoryRequirement(int32_t profile,
38  int32_t level,
39  int32_t maxWidth,
40  int32_t maxHeight,
41  uint32_t *outMemoryRequirement);
42 
43 
48 H264DECInitParam(int32_t memorySize,
49  void *memory);
50 
51 
56 H264DECSetParam(void *memory,
57  H264Parameter parameter,
58  void *value);
59 
60 
66  H264DECFptrOutputFn value);
67 
68 
75  uint32_t value);
76 
77 
83  void *value);
84 
85 
91  uint32_t size);
92 
93 
98 H264DECOpen(void *memory);
99 
100 
104 H264Error
105 H264DECBegin(void *memory);
106 
107 
111 H264Error
112 H264DECSetBitstream(void *memory,
113  uint8_t *buffer,
114  uint32_t bufferLength,
115  double timestamp);
116 
117 
121 H264Error
122 H264DECExecute(void *memory,
123  void *frameBuffer);
124 
125 
129 H264Error
130 H264DECFlush(void *memory);
131 
132 
136 H264Error
137 H264DECEnd(void *memory);
138 
139 
143 H264Error
144 H264DECClose(void *memory);
145 
146 
147 #ifdef __cplusplus
148 }
149 #endif
150 
H264Error H264DECCheckMemSegmentation(void *memory, uint32_t size)
Check if the provided memory can be used for decoding.
H264Error H264DECExecute(void *memory, void *frameBuffer)
Perform decoding of the bitstream and put the output frame into frameBuffer.
H264Error H264DECSetParam_OUTPUT_PER_FRAME(void *memory, uint32_t value)
Set whether the decoder should internally buffer frames or call the callback immediately as soon as a...
H264Error H264DECBegin(void *memory)
Prepare for decoding.
H264Error H264DECOpen(void *memory)
Open a H264 decoder.
H264Error H264DECSetParam_FPTR_OUTPUT(void *memory, H264DECFptrOutputFn value)
Set the callback which is called when a frame is output from the decoder.
H264Error H264DECMemoryRequirement(int32_t profile, int32_t level, int32_t maxWidth, int32_t maxHeight, uint32_t *outMemoryRequirement)
Calculate the amount of memory required for the specified parameters.
H264Error H264DECSetBitstream(void *memory, uint8_t *buffer, uint32_t bufferLength, double timestamp)
Set the bit stream to be read for decoding.
H264Error H264DECInitParam(int32_t memorySize, void *memory)
Initialise a H264 decoder in the given memory.
H264Error H264DECClose(void *memory)
Cleanup the decoder.
H264Error H264DECEnd(void *memory)
End decoding of the current stream.
H264Error H264DECSetParam(void *memory, H264Parameter parameter, void *value)
Set H264 decoder parameter.
H264Error H264DECSetParam_USER_MEMORY(void *memory, void *value)
Set a user memory pointer which is passed to the frame output callback.
H264Error H264DECFlush(void *memory)
Flush any internally buffered frames.
H264Parameter
h264 decoder parameters for H264DECSetParam.
Definition: decode.h:16
@ H264_PARAMETER_UNKNOWN_20000040
Definition: decode.h:26
@ H264_PARAMETER_UNKNOWN_20000010
Definition: decode.h:24
@ H264_PARAMETER_FRAME_POINTER_OUTPUT
Set the callback which is called when a frame is output from the decoder.
Definition: decode.h:18
@ H264_PARAMETER_USER_MEMORY
Set a user memory pointer which is passed to the frame output callback.
Definition: decode.h:29
@ H264_PARAMETER_OUTPUT_PER_FRAME
Set whether the decoder should internally buffer frames or call the callback immediately as soon as a...
Definition: decode.h:22
@ H264_PARAMETER_UNKNOWN_20000030
Definition: decode.h:25
void(* H264DECFptrOutputFn)(H264DecodeOutput *output)
Definition: stream.h:17
H264Error
h264 library errors.
Definition: stream.h:21