1 /*---------------------------------------------------------------------------*
2   Project:  TwlSDK - SSP - include
3   File:     exifenc.h
4 
5   Copyright 2007-2008 Nintendo. All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law. They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Date:: 2009-01-09#$
14   $Rev: 9810 $
15   $Author: kitase_hirotake $
16  *---------------------------------------------------------------------------*/
17 
18 #ifndef TWL_SSP_EXIFENC_H_
19 #define TWL_SSP_EXIFENC_H_
20 
21 #include <twl/ssp/common/ssp_jpeg_type.h>
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 #include <twl/types.h>
28 
29 /*---------------------------------------------------------------------------*
30   Name:         SSP_SetJpegEncoderMakerNoteEx
31 
32   Description:  Data to add to a MakerNote when encoding a JPEG.
33 
34   Arguments:    tag: The type of data to fill in
35                 buffer: Data buffer
36                 size: Data size
37 
38   Returns:      None.
39  *---------------------------------------------------------------------------*/
40 void SSP_SetJpegEncoderMakerNoteEx(SSPJpegMakernote tag, const u8* buffer, u32 size);
41 
42 /*---------------------------------------------------------------------------*
43   Name:         SSP_SetJpegEncoderMakerNote
44 
45   Description:  DSi camera data to add to a MakerNote when encoding a JPEG.
46 
47   Arguments:    buffer: Buffer for DSi camera data
48                 size: Data size
49 
50   Returns:      None.
51  *---------------------------------------------------------------------------*/
SSP_SetJpegEncoderMakerNote(const u8 * buffer,u32 size)52 static inline void SSP_SetJpegEncoderMakerNote(const u8* buffer, u32 size)
53 {
54     SSP_SetJpegEncoderMakerNoteEx(SSP_MAKERNOTE_PHOTO, buffer, size);
55 }
56 
57 /*---------------------------------------------------------------------------*
58   Name:         SSP_SetJpegEncoderDateTime
59 
60   Description:  Specifies the date and time to set in the Exif IFD tags DateTimeOriginal and DateTimeDigitized when encoding a JPEG.
61 
62 
63   Arguments:    buffer: A string that shows the date and time in the following format: YYYY:MM:DD HH:MM:SS
64 
65   Returns:      None.
66  *---------------------------------------------------------------------------*/
67 void SSP_SetJpegEncoderDateTime(const u8* buffer);
68 
69 /*---------------------------------------------------------------------------*
70   Name:         SSP_GetDateTime
71 
72   Description:  This function simply calls RTC_GetDateTime internally.
73 
74   Arguments:    None.
75 
76   Returns:      Returns TRUE if it was successful.
77  *---------------------------------------------------------------------------*/
78 BOOL SSP_GetDateTime( RTCDate* date , RTCTime* time );
79 
80 /*---------------------------------------------------------------------------*
81   Name:         SSP_SetJpegEncoderDateTimeNow
82 
83   Description:  Sets the current time in the Exif IFD tags DateTimeOriginal and DateTimeDigitized when encoding a JPEG.
84 
85 
86   Arguments:    None.
87 
88   Returns:      Returns TRUE if the current time was set successfully.
89  *---------------------------------------------------------------------------*/
90 BOOL SSP_SetJpegEncoderDateTimeNow(void);
91 
92 /*---------------------------------------------------------------------------*
93   Name:         SSP_SetJpegEncoderSignMode
94 
95   Description:  Enables or disables functionality that adds a signature when encoding a JPEG.
96 
97   Arguments:    If TRUE, it will be turned on. If FALSE, it will be turned off.
98 
99   Returns:      Returns the previously set mode.
100  *---------------------------------------------------------------------------*/
101 BOOL SSP_SetJpegEncoderSignMode(BOOL mode);
102 
103 u32 SSP_ExifEncode(u8* l_dst, u32 width, u32 height, const u8* thumb_src, u32 thumb_size);
104 
105 #ifdef __cplusplus
106 } /* extern "C" */
107 #endif
108 
109 /* TWL_SSP_EXIFENC_H_ */
110 #endif
111