Initial vp9 decoder implementation
This commit is contained in:
43
shared/interface/vp9_interface.h
Normal file
43
shared/interface/vp9_interface.h
Normal file
@@ -0,0 +1,43 @@
|
||||
#ifndef VP9_INTERFACE_H
|
||||
#define VP9_INTERFACE_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
// Maximum number of concurrent VP9 streams
|
||||
#define MAX_VP9_STREAMS 3
|
||||
|
||||
// VP9 decoder initialization
|
||||
bool vp9_initialize(int width, int height);
|
||||
|
||||
// Decode a VP9 frame for the specified stream
|
||||
bool vp9_decode_frame(const uint8_t* data, size_t data_size, int stream_id);
|
||||
|
||||
// Get the OpenGL texture ID for the decoded frame
|
||||
uint32_t vp9_get_texture_id(int stream_id);
|
||||
|
||||
// Check if hardware decoding is available
|
||||
bool vp9_is_hardware_supported();
|
||||
|
||||
// Get decoder status information
|
||||
typedef struct {
|
||||
bool is_initialized;
|
||||
bool hardware_supported;
|
||||
int active_streams;
|
||||
int decoded_frames[MAX_VP9_STREAMS];
|
||||
} vp9_status_t;
|
||||
|
||||
vp9_status_t vp9_get_status();
|
||||
|
||||
// Release all decoder resources
|
||||
void vp9_release();
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // VP9_INTERFACE_H
|
||||
Reference in New Issue
Block a user