summaryrefslogtreecommitdiffstats
path: root/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/image_decoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/image_decoder.h')
-rw-r--r--xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/image_decoder.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/image_decoder.h b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/image_decoder.h
new file mode 100644
index 0000000..595a5dc
--- /dev/null
+++ b/xbmc/addons/kodi-addon-dev-kit/include/kodi/c-api/addon-instance/image_decoder.h
@@ -0,0 +1,78 @@
1/*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#pragma once
10
11#include "../addon_base.h"
12
13#ifdef __cplusplus
14extern "C"
15{
16#endif /* __cplusplus */
17
18 //============================================================================
19 /// @ingroup cpp_kodi_addon_imagedecoder_Defs
20 /// @brief **Image format types**\n
21 /// Used to define wanted target format where image decoder should give to
22 /// Kodi.
23 ///
24 typedef enum ImageFormat
25 {
26 /// @brief A 32-bit ARGB pixel format, with alpha, that uses 8 bits per
27 /// channel, ARGBARGB...
28 ADDON_IMG_FMT_A8R8G8B8 = 1,
29
30 /// @brief A 8, alpha only, 8bpp, AAA...
31 ADDON_IMG_FMT_A8 = 2,
32
33 /// @brief RGBA 8:8:8:8, with alpha, 32bpp, RGBARGBA...
34 ADDON_IMG_FMT_RGBA8 = 3,
35
36 /// @brief RGB 8:8:8, with alpha, 24bpp, RGBRGB...
37 ADDON_IMG_FMT_RGB8 = 4
38 } ImageFormat;
39 //----------------------------------------------------------------------------
40
41 typedef struct AddonProps_ImageDecoder
42 {
43 const char* mimetype;
44 } AddonProps_ImageDecoder;
45
46 typedef struct AddonToKodiFuncTable_ImageDecoder
47 {
48 KODI_HANDLE kodi_instance;
49 } AddonToKodiFuncTable_ImageDecoder;
50
51 struct AddonInstance_ImageDecoder;
52 typedef struct KodiToAddonFuncTable_ImageDecoder
53 {
54 KODI_HANDLE addonInstance;
55 bool(__cdecl* load_image_from_memory)(const struct AddonInstance_ImageDecoder* instance,
56 unsigned char* buffer,
57 unsigned int buf_size,
58 unsigned int* width,
59 unsigned int* height);
60
61 bool(__cdecl* decode)(const struct AddonInstance_ImageDecoder* instance,
62 unsigned char* pixels,
63 unsigned int width,
64 unsigned int height,
65 unsigned int pitch,
66 enum ImageFormat format);
67 } KodiToAddonFuncTable_ImageDecoder;
68
69 typedef struct AddonInstance_ImageDecoder
70 {
71 struct AddonProps_ImageDecoder* props;
72 struct AddonToKodiFuncTable_ImageDecoder* toKodi;
73 struct KodiToAddonFuncTable_ImageDecoder* toAddon;
74 } AddonInstance_ImageDecoder;
75
76#ifdef __cplusplus
77} /* extern "C" */
78#endif /* __cplusplus */