3 * Copyright (C) 2005-2013 Team XBMC
6 * This Program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
11 * This Program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with XBMC; see the file COPYING. If not, see
18 * <http://www.gnu.org/licenses/>.
25 #ifndef __VIDEOCORE4__
26 #define __VIDEOCORE4__
28 #ifndef HAVE_VMCS_CONFIG
29 #define HAVE_VMCS_CONFIG
32 #if defined(HAVE_CONFIG_H) && !defined(TARGET_WINDOWS)
34 #define DECLARE_UNUSED(a,b) a __attribute__((unused)) b;
37 #if defined(TARGET_RASPBERRY_PI)
40 #include "threads/CriticalSection.h"
49 void LogFirmwareVerison();
51 int GetArmMem() { return m_arm_mem; }
52 int GetGpuMem() { return m_gpu_mem; }
53 bool GetCodecMpg2() { return m_codec_mpg2_enabled; }
54 bool GetCodecWvc1() { return m_codec_wvc1_enabled; }
55 void GetDisplaySize(int &width, int &height);
56 // stride can be null for packed output
57 unsigned char *CaptureDisplay(int width, int height, int *stride, bool swap_red_blue, bool video_only = true);
58 DllOMX *GetDllOMX() { return m_OMX ? m_OMX->GetDll() : NULL; }
61 DllBcmHost *m_DllBcmHost;
63 bool m_omx_initialized;
64 bool m_omx_image_init;
67 bool m_codec_mpg2_enabled;
68 bool m_codec_wvc1_enabled;
71 CCriticalSection m_critSection;