/** * @file omx.h Raspberry Pi VideoCoreIV OpenMAX interface * * Copyright (C) 2016 - 2017 Creytiv.com * Copyright (C) 2016 - 2017 Jonathan Sieber */ #ifdef RASPBERRY_PI #include #include #include #else #include #include #include #undef OMX_VERSION #define OMX_VERSION 0x01010101 #define OMX_ERROR_NONE 0 #endif #include #include #include /* Needed for usleep to appear */ #define _BSD_SOURCE #include struct omx_state { OMX_HANDLETYPE video_render; OMX_BUFFERHEADERTYPE** buffers; int num_buffers; int current_buffer; }; int omx_init(struct omx_state* st); void omx_deinit(struct omx_state* st); int omx_display_input_buffer(struct omx_state* st, void** pbuf, uint32_t* plen); int omx_display_flush_buffer(struct omx_state* st); int omx_display_enable(struct omx_state* st, int width, int height, int stride); void omx_display_disable(struct omx_state* st);