Kodi Development 22.0
for Binary and Script based Add-Ons
 
Loading...
Searching...
No Matches
imagedecoder.h
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#ifndef C_API_ADDONINSTANCE_IMAGEDECODER_H
10#define C_API_ADDONINSTANCE_IMAGEDECODER_H
11
12#include "../addon_base.h"
13
14#ifdef __cplusplus
15extern "C"
16{
17#endif /* __cplusplus */
18
19 typedef KODI_ADDON_INSTANCE_HDL KODI_ADDON_IMAGEDECODER_HDL;
20
21 //============================================================================
45 //----------------------------------------------------------------------------
46
47 //============================================================================
81 //----------------------------------------------------------------------------
82
83 //============================================================================
99 //----------------------------------------------------------------------------
100
101 //============================================================================
134 //----------------------------------------------------------------------------
135
136 //============================================================================
177 //----------------------------------------------------------------------------
178
179 //============================================================================
201 //----------------------------------------------------------------------------
202
203 //============================================================================
275 //----------------------------------------------------------------------------
276
277 //============================================================================
284 {
287
290
293
296
299
302
305
308
311
314
317
320
323
326
329
332
335
338
341
344
347
350
353
356
359
362
367 //----------------------------------------------------------------------------
368
370 {
371 int width;
372 int height;
373 float distance;
374 enum ADDON_IMG_ORIENTATION orientation;
375 enum ADDON_IMG_COLOR color;
376 enum ADDON_IMG_METERING_MODE metering_mode;
377 float exposure_time;
378 float exposure_bias;
379 enum ADDON_IMG_EXPOSURE_PROGRAM exposure_program;
380 enum ADDON_IMG_EXPOSURE_MODE exposure_mode;
381 time_t time_created;
382 float aperture_f_number;
383 enum ADDON_IMG_FLASH_TYPE flash_used;
384 int focal_length;
385 int focal_length_in_35mm_format;
386 float digital_zoom_ratio;
387 float iso_speed;
388 enum ADDON_IMG_LIGHT_SOURCE light_source;
389
390 bool gps_info_present;
391 char latitude_ref;
392 float latitude[3]; /* Deg,min,sec */
393 char longitude_ref;
394 float longitude[3]; /* Deg,min,sec */
395 int altitude_ref;
396 float altitude;
397
398 char* camera_manufacturer;
399 char* camera_model;
400 char* author;
401 char* description;
402 char* copyright;
403 };
404
405 typedef bool(ATTR_APIENTRYP PFN_KODI_ADDON_IMAGEDECODER_SUPPORTS_FILE_V1)(
406 const KODI_ADDON_IMAGEDECODER_HDL hdl, const char* file);
407 typedef bool(ATTR_APIENTRYP PFN_KODI_ADDON_IMAGEDECODER_READ_TAG_V1)(
408 const KODI_ADDON_IMAGEDECODER_HDL hdl,
409 const char* file,
411 typedef bool(ATTR_APIENTRYP PFN_KODI_ADDON_IMAGEDECODER_LOAD_IMAGE_FROM_MEMORY_V1)(
412 const KODI_ADDON_IMAGEDECODER_HDL hdl,
413 const char* mimetype,
414 const uint8_t* buffer,
415 size_t buf_size,
416 unsigned int* width,
417 unsigned int* height);
418 typedef bool(ATTR_APIENTRYP PFN_KODI_ADDON_IMAGEDECODER_DECODE_V1)(
419 const KODI_ADDON_IMAGEDECODER_HDL hdl,
420 uint8_t* pixels,
421 size_t pixels_size,
422 unsigned int width,
423 unsigned int height,
424 unsigned int pitch,
425 enum ADDON_IMG_FMT format);
426
428 {
429 PFN_KODI_ADDON_IMAGEDECODER_SUPPORTS_FILE_V1 supports_file;
430 PFN_KODI_ADDON_IMAGEDECODER_READ_TAG_V1 read_tag;
431 PFN_KODI_ADDON_IMAGEDECODER_LOAD_IMAGE_FROM_MEMORY_V1 load_image_from_memory;
432 PFN_KODI_ADDON_IMAGEDECODER_DECODE_V1 decode;
434
436 {
437 KODI_HANDLE kodi_instance;
439
445
446#ifdef __cplusplus
447} /* extern "C" */
448#endif /* __cplusplus */
449
450#endif /* !C_API_ADDONINSTANCE_IMAGEDECODER_H */
ADDON_IMG_COLOR
Definition imagedecoder.h:91
@ ADDON_IMG_COLOR_COLORED
Colored image.
Definition imagedecoder.h:93
@ ADDON_IMG_COLOR_BLACK_WHITE
Black/White image.
Definition imagedecoder.h:96
ADDON_IMG_EXPOSURE_MODE
Definition imagedecoder.h:190
@ ADDON_IMG_EXPOSURE_MODE_MANUAL
1 = Manual exposure
Definition imagedecoder.h:195
@ ADDON_IMG_EXPOSURE_MODE_AUTO
0 = Auto exposure
Definition imagedecoder.h:192
@ ADDON_IMG_EXPOSURE_MODE_AUTO_TRACKED
2 = Auto bracket
Definition imagedecoder.h:198
ADDON_IMG_EXPOSURE_PROGRAM
Definition imagedecoder.h:144
@ ADDON_IMG_EXPOSURE_PROGRAM_APERTURE_PRIORITY
3 = Aperture-priority
Definition imagedecoder.h:155
@ ADDON_IMG_EXPOSURE_PROGRAM_SHUTTER_SPEED_PRIORITY
4 = Shutter speed priority
Definition imagedecoder.h:158
@ ADDON_IMG_EXPOSURE_PROGRAM_LANDSCAPE
8 = Landscape mode (for landscape photos with the background in focus)
Definition imagedecoder.h:170
@ ADDON_IMG_EXPOSURE_PROGRAM_NORMAL
2 = Normal program
Definition imagedecoder.h:152
@ ADDON_IMG_EXPOSURE_PROGRAM_ACTION
6 = Action program (biased toward fast shutter speed)
Definition imagedecoder.h:164
@ ADDON_IMG_EXPOSURE_PROGRAM_PORTRAIT
7 = Portrait mode (for closeup photos with the background out of focus)
Definition imagedecoder.h:167
@ ADDON_IMG_EXPOSURE_PROGRAM_CREATIVE
5 = Creative program (biased toward depth of field)
Definition imagedecoder.h:161
@ ADDON_IMG_EXPOSURE_PROGRAM_UNDEFINED
0 = Not Defined
Definition imagedecoder.h:146
@ ADDON_IMG_EXPOSURE_PROGRAM_BULB
9 = Bulb
Definition imagedecoder.h:174
@ ADDON_IMG_EXPOSURE_PROGRAM_MANUAL
1 = Manual
Definition imagedecoder.h:149
ADDON_IMG_FLASH_TYPE
Definition imagedecoder.h:284
@ ADDON_IMG_FLASH_TYPE_ON_REDEYE_REDUCTION_RETURN_DETECTED
0x4f = On, Red-eye reduction, Return detected
Definition imagedecoder.h:349
@ ADDON_IMG_FLASH_TYPE_AUTO_FIRED_REDEYE_REDUCTION_RETURN_DETECTED
0x5f = Auto, Fired, Red-eye reduction, Return detected
Definition imagedecoder.h:364
@ ADDON_IMG_FLASH_TYPE_OFF_DID_NOT_FIRE_RETURN_NOT_DETECTED
0x14 = Off, Did not fire, Return not detected
Definition imagedecoder.h:313
@ ADDON_IMG_FLASH_TYPE_FIRED_RETURN_NOT_DETECTED
0x5 = Fired, Return not detected
Definition imagedecoder.h:292
@ ADDON_IMG_FLASH_TYPE_AUTO_FIRED_REDEYE_REDUCTION
0x59 = Auto, Fired, Red-eye reduction
Definition imagedecoder.h:358
@ ADDON_IMG_FLASH_TYPE_OFF_NO_FLASH_FUNCTION
0x30 = Off, No flash function
Definition imagedecoder.h:331
@ ADDON_IMG_FLASH_TYPE_ON_REDEYE_REDUCTION_RETURN_NOT_DETECTED
0x4d = On, Red-eye reduction, Return not detected
Definition imagedecoder.h:346
@ ADDON_IMG_FLASH_TYPE_NO_FLASH
0x0 = No Flash
Definition imagedecoder.h:286
@ ADDON_IMG_FLASH_TYPE_OFF_DID_NOT_FIRE
0x10 = Off, Did not fire
Definition imagedecoder.h:310
@ ADDON_IMG_FLASH_TYPE_OFF_REDEYE_REDUCTION
0x50 = Off, Red-eye reduction
Definition imagedecoder.h:352
@ ADDON_IMG_FLASH_TYPE_
0x8 = On, Did not fire
Definition imagedecoder.h:298
@ ADDON_IMG_FLASH_TYPE_AUTO_FIRED_RETURN_DETECTED
0x1f = Auto, Fired, Return detected
Definition imagedecoder.h:325
@ ADDON_IMG_FLASH_TYPE_AUTO_DID_NOT_FIRE
0x18 = Auto, Did not fire
Definition imagedecoder.h:316
@ ADDON_IMG_FLASH_TYPE_AUTO_FIRED_REDEYE_REDUCTION_RETURN_NOT_DETECTED
0x5d = Auto, Fired, Red-eye reduction, Return not detected
Definition imagedecoder.h:361
@ ADDON_IMG_FLASH_TYPE_FIRED
0x1 = Fired
Definition imagedecoder.h:289
@ ADDON_IMG_FLASH_TYPE_FIRED_REDEYE_REDUCTION_RETURN_DETECTED
0x47 = Fired, Red-eye reduction, Return detected
Definition imagedecoder.h:340
@ ADDON_IMG_FLASH_TYPE_FIRED_RETURN_DETECTED
0x7 = Fired, Return detected
Definition imagedecoder.h:295
@ ADDON_IMG_FLASH_TYPE_ON_RETURN_DETECTED
0xf = On, Return detected
Definition imagedecoder.h:307
@ ADDON_IMG_FLASH_TYPE_FIRED_REDEYE_REDUCTION_RETURN_NOT_DETECTED
0x45 = Fired, Red-eye reduction, Return not detected
Definition imagedecoder.h:337
@ ADDON_IMG_FLASH_TYPE_AUTO_DID_NOT_FIRE_REDEYE_REDUCTION
0x58 = Auto, Did not fire, Red-eye reduction
Definition imagedecoder.h:355
@ ADDON_IMG_FLASH_TYPE_ON_Fired
0x9 = On, Fired
Definition imagedecoder.h:301
@ ADDON_IMG_FLASH_TYPE_ON_RETURN_NOT_DETECTED
0xd = On, Return not detected
Definition imagedecoder.h:304
@ ADDON_IMG_FLASH_TYPE_AUTO_FIRED_RETURN_NOT_DETECTED
0x1d = Auto, Fired, Return not detected
Definition imagedecoder.h:322
@ ADDON_IMG_FLASH_TYPE_NO_FLASH_FUNCTION
0x20 = No flash function
Definition imagedecoder.h:328
@ ADDON_IMG_FLASH_TYPE_AUTO_FIRED
0x19 = Auto, Fired
Definition imagedecoder.h:319
@ ADDON_IMG_FLASH_TYPE_FIRED_REDEYE_REDUCTION
0x41 = Fired, Red-eye reduction
Definition imagedecoder.h:334
@ ADDON_IMG_FLASH_TYPE_ON_REDEYE_REDUCTION
0x49 = On, Red-eye reduction
Definition imagedecoder.h:343
ADDON_IMG_FMT
Definition imagedecoder.h:30
@ ADDON_IMG_FMT_A8
A 8, alpha only, 8bpp, AAA...
Definition imagedecoder.h:36
@ ADDON_IMG_FMT_A8R8G8B8
A 32-bit ARGB pixel format, with alpha, that uses 8 bits per channel, ARGBARGB...
Definition imagedecoder.h:33
@ ADDON_IMG_FMT_RGB8
RGB 8:8:8, with alpha, 24bpp, RGBRGB...
Definition imagedecoder.h:42
@ ADDON_IMG_FMT_RGBA8
RGBA 8:8:8:8, with alpha, 32bpp, RGBARGBA...
Definition imagedecoder.h:39
ADDON_IMG_LIGHT_SOURCE
Definition imagedecoder.h:210
@ ADDON_IMG_LIGHT_SOURCE_ISO_STUDIO_TUNGSTEN
24 = ISO Studio Tungsten
Definition imagedecoder.h:269
@ ADDON_IMG_LIGHT_SOURCE_D55
20 = D55
Definition imagedecoder.h:257
@ ADDON_IMG_LIGHT_SOURCE_COOL_WHITE_FLUORESCENT
14 = Cool white fluorescent (W 3900 - 4500K)
Definition imagedecoder.h:242
@ ADDON_IMG_LIGHT_SOURCE_TUNGSTEN
3 = Tungsten (incandescent light)
Definition imagedecoder.h:221
@ ADDON_IMG_LIGHT_SOURCE_D75
22 = D75
Definition imagedecoder.h:263
@ ADDON_IMG_LIGHT_SOURCE_CLOUDY_WEATHER
10 = Cloudy weather
Definition imagedecoder.h:230
@ ADDON_IMG_LIGHT_SOURCE_FINE_WEATHER
9 = Fine weather
Definition imagedecoder.h:227
@ ADDON_IMG_LIGHT_SOURCE_FLUORESCENT
2 = Fluorescent
Definition imagedecoder.h:218
@ ADDON_IMG_LIGHT_SOURCE_STANDARD_LIGHT_B
18 = Standard light B
Definition imagedecoder.h:251
@ ADDON_IMG_LIGHT_SOURCE_D50
23 = D50
Definition imagedecoder.h:266
@ ADDON_IMG_LIGHT_SOURCE_STANDARD_LIGHT_A
17 = Standard light A
Definition imagedecoder.h:248
@ ADDON_IMG_LIGHT_SOURCE_DAYLIGHT
1 = Daylight
Definition imagedecoder.h:215
@ ADDON_IMG_LIGHT_SOURCE_DAY_WHITE_FLUORESCENT
13 = Day white fluorescent (N 4600 - 5400K)
Definition imagedecoder.h:239
@ ADDON_IMG_LIGHT_SOURCE_SHADE
11 = Shade
Definition imagedecoder.h:233
@ ADDON_IMG_LIGHT_SOURCE_UNKNOWN
0 = Unknown
Definition imagedecoder.h:212
@ ADDON_IMG_LIGHT_SOURCE_STANDARD_LIGHT_C
19 = Standard light C
Definition imagedecoder.h:254
@ ADDON_IMG_LIGHT_SOURCE_DAYLIGHT_FLUORESCENT
12 = Daylight fluorescent (D 5700 - 7100K)
Definition imagedecoder.h:236
@ ADDON_IMG_LIGHT_SOURCE_FLASH
4 = Flash
Definition imagedecoder.h:224
@ ADDON_IMG_LIGHT_SOURCE_WHITE_FLUORESCENT
15 = White fluorescent (WW 3200 - 3700K)
Definition imagedecoder.h:245
@ ADDON_IMG_LIGHT_SOURCE_OTHER
255 = Other
Definition imagedecoder.h:272
@ ADDON_IMG_LIGHT_SOURCE_D65
21 = D65
Definition imagedecoder.h:260
ADDON_IMG_METERING_MODE
Definition imagedecoder.h:108
@ ADDON_IMG_METERING_MODE_CENTER_WEIGHT
2 = Center-weighted average
Definition imagedecoder.h:116
@ ADDON_IMG_METERING_MODE_MULTI_SPOT
4 = MultiSpot
Definition imagedecoder.h:122
@ ADDON_IMG_METERING_MODE_UNKNOWN
0 = Unknown
Definition imagedecoder.h:110
@ ADDON_IMG_METERING_MODE_MULTI_SEGMENT
5 = Pattern
Definition imagedecoder.h:125
@ ADDON_IMG_METERING_MODE_AVERAGE
1 = Average
Definition imagedecoder.h:113
@ ADDON_IMG_METERING_MODE_PARTIAL
6 = Partial
Definition imagedecoder.h:128
@ ADDON_IMG_METERING_MODE_OTHER
255 = other
Definition imagedecoder.h:131
@ ADDON_IMG_METERING_MODE_SPOT
3 = Spot
Definition imagedecoder.h:119
ADDON_IMG_ORIENTATION
Definition imagedecoder.h:55
@ ADDON_IMG_ORIENTATION_FLIP_HORIZONTAL
Flip horizontal.
Definition imagedecoder.h:60
@ ADDON_IMG_ORIENTATION_TRANSPOSE
Transpose.
Definition imagedecoder.h:69
@ ADDON_IMG_ORIENTATION_ROTATE_270_CCW
Rotate 270° CCW.
Definition imagedecoder.h:72
@ ADDON_IMG_ORIENTATION_ROTATE_180_CCW
Rotate 180° CCW.
Definition imagedecoder.h:63
@ ADDON_IMG_ORIENTATION_TRANSPOSE_OFF_AXIS
Transpose off axis.
Definition imagedecoder.h:75
@ ADDON_IMG_ORIENTATION_ROTATE_90_CCW
Rotate 90° CCW.
Definition imagedecoder.h:78
@ ADDON_IMG_ORIENTATION_NONE
If not available.
Definition imagedecoder.h:57
@ ADDON_IMG_ORIENTATION_FLIP_VERTICAL
Flip vertical.
Definition imagedecoder.h:66
Definition imagedecoder.h:441
Definition imagedecoder.h:436
Definition imagedecoder.h:370
Definition imagedecoder.h:428