Readme-ImageDb-20160512.html
ImageDb 2016-05-12
Contents
- Introduction
- Notes
- System Requirements
- Operating Environment
- Installation
- Samples
- Related Documents
- Revision History
This package contains a library that reads from and adds to the images managed by Nintendo 3DS Camera on an SD card.
Applications that use photos must follow 3DS Guidelines: UGC.
The following development environment is required to run this package.
- CTR-SDK
- ARMCC for Nintendo
This package is confirmed to run with the following versions of the development environment.
- CTR-SDK 11.5.0
- ARMCC 4.1 for Nintendo (20121026 build 1049)
- PARTNER-CTR/S version 5.70-045_20140604
Package Setup
Extract this package and place it in any directory. We recommend that you place it in a directory whose path does not include spaces or fullwidth characters.
Incorporating This Library Into Your Application
You need the following when incorporating this library into your application.
- Adding #include paths.
- Add
(directory where this package is installed)/include
to the #include
paths.
- Including header files.
- Include
imgdb/ImageIO.h
within files that use this library.
- Adding libraries to link.
- Add
libraries/(platform)/(target)/ImageDb.fast.a OR libraries/(platform)/(target)/ImageDb.small.a
to the libraries to link.
The included sample is a program that saves and reads JPEG files.
Insert a formatted SD card before running the program.
The ImageDb Programming Manual provides an overview and instructions for how to use this package.
ImageDb Programming Manual (PDF)
For a detailed explanation of each function, see the API Reference. API Reference
- ● 2016-05-12 Release
-
- Deprecated the use of relative include paths.
- Denoted more information on consumed memory.
- ● 2015-03-20 Release
-
- Updated the ImageDb Programming Manual.
- ● 2014-09-16 Release
-
- Updated to support SDK 10.0.1.
- ● 2014-07-31 Release
-
- Updated to support SDK 9.12.0.
- ● 2014-04-09 Release
-
- Updated to support SDK 9.9.0.
- ● 2013-11-20 Release
-
- Updated to support SDK 7.1.0.
- ● 2013-02-22 Release
-
- Fixed a bug that occurred when setting a path that was not anticipated in the Jpeg/MpLoader class.
- Added handling of various unanticipated cases.
- Revised the API Reference.
- ● 2013-01-15 Release
-
- Updated to support SDK 5.0.0.
- ● 2012-04-04 Release
-
- Updated to support SDK 4.0.2.
- Updated the Programming Manuals.
- ● 2012-01-23 Release
-
- Updated to support SDK 3.3.
- Deleted functions related to the allow distribution flag, the sending system ID, and the receiving system ID of the
JpegMpBaseSaver
class.
- Deleted functions related to the sending system ID and the receiving system ID of the
JpegMpBaseLoader
class.
- Modified the sample program.
- ● 2011-11-25 Release
-
- Updated to support SDK 3.2.4.
- Updated to support enabling and disabling the quality adjustment with encoding when image size is too large.
- Added an argument to return the estimate results to the
EstimateRemainPictureNum
function.
- ● 2011-11-08 Release
-
- Updated to support SDK 3.2.3.
- Adjusted image validity checking.
- ● 2011-08-10 Release
-
- Updated to support SDK 3.0.
- Made it possible to load only the left image with
MpLoader::SetBuffer
.
- Suppressed warnings about padding.
- Revised the API Reference.
- Revised the Programming Manuals.
- ● 2011-07-26 Release
-
- Updated to support SDK 2.5.4.
- ● 2011-07-12 Release
-
- Fixed a bug in the
util::CollectPicture
function.
- Added the
mnt::CheckSdmcState
function to get the state of an SD card.
- Revised the API Reference.
- Revised the Programming Manual.
- ● 2011-07-04 Release
-
- Added a management file under
tools
for checking ResultErrorOverNumImages
errors.
- Deprecated the return value of the
Initialize
function.
- Fixed a bug creating name strings for software embedded in photos.
- Deleted the warning-control pragma used in various header files.
- Revised the comments in various header files.
- When saving photos with
Jpeg/MpSaver
, a check is now made of the handled resolution.
- Added a function for enumerating images registered in the management file.
- Added functions for using ImageDb to manage images in SD cards.
- Added function to
Jpeg/MpLoader::Load
function to get the real size of the image, not affected by downscale decoding.
- Modified the sample program.
- Added the API Reference.
- Revised the Programming Manuals.
- ● 2011-04-11 Release
-
- Updated to support SDK 2.2.0.
- Added the errors ResultErrorNotAvailableStorage and ResultErrorReadOnlyDbFile.
- Unexpected errors were returned by the
Jpeg/MpSaver::Save
function, the Jpeg/MpLoader::Load
function, and the DeletePicture
function if the SD card was quickly inserted and removed while they were executing. That problem was fixed.
- Added code for deleting pictures to the sample program.
- Revised the Programming Manual.
- ● 2011-02-14 Release
-
- Changed the allocator from
nw::os::IAllocator
to nn::fnd::IAllocator
.In line with this change, removed NintendoWare for CTR from the required environment.
- Modified the sample program.
- ● 2011-02-02 Release
-
- Updated to support SDK 1.0.0.
- Added the
DeletePicture
and IsSamePictureTitleUniqueId
functions.
- Modified various documents.
- Organized header files.
- Deleted unneeded code from sample program.
- ● 2010-12-30 Release
-
- Updated to support SDK 0.14.17.
- Revised the programming manual.
- Fixed a bug in internal processing.
- ● 2010-12-19 Release
-
- Updated to support SDK 0.14.12.
- Fixed the initialization function for the ImageDb library,
Initialize
, to return ResultErrorNotExistStorage
when an SD card has not been inserted.
- Revised each of the ImageDb processes that create directories to return
ResultErrorInsufficientStorageSpace
errors.
- ● 2010-12-14 Release
-
- Updated to support SDK 0.14.10.
- Revised the programming manual.
- Changed the distribution control flags to only
PermitDistributeFlag
.
- Revised the specifications for the
EstimateRemainPictureNum
function to return the same number of remaining photos as Nintendo 3DS Camera.
- Revised the
Jpeg/MpSaver::Save
function to return ResultErrorInsufficientStorageSpace
when the SD card does not have enough free space to save control files.
- ● 2010-12-04 Release
-
- Revised the programming manual.
- ● 2010-12-01 Release
-
- Fixed an error in the flags set for the control files on an SD card.
- If an SD card is unmounted while the
Jpeg/MpSaver::Save
or Jpeg/MpLoader::Load
function is running, it now causes a ResultErrorFileOperationFailure
error.
- Changed the description of the
IsMountSdmc
function.
- ● 2010-11-20 Release
-
- Updated to support SDK 0.14.3.
- Renamed some of the
Result
types: ResultErrorNotExistSd
is now ResultErrorNotExistStorage
and ResultErrorSdWriteProtect
is now ResultErrorWriteProtect
.
- Fixed a bug in how paths are handled within
Jpeg/MpSaver
and Jpeg/MpLoader
.
- ● 2010-11-11 Release
-
- Updated to support SDK 0.14.0.5.
- Changed CTR-NAND from SD emulation to the current behavior.
- Changed the
imgdb::Initialize
function to not handle images in NAND memory.
- Fixed a bug that caused an assertion failure in the
imgdb::Finalize
function.
- ● 2010-11-08 Release
-
- Updated to support SDK 0.14.0.2.
- Changed the directory and filenames used to save control files. The new path is
Nintendo 3DS/Private/00020400/phtcache.bin
.
- Changed various
ImageDatabase
processes to return write-protect errors for SD cards.
- Deprecated the
GetDistinctionFlag
and SetDistinctionFlag
functions, which are related to photo property flags, in JpegMpLoader
and JpegMpSaver
.
- Renamed the "flag that allows uploads following a modification" to the "flag that allows distribution following a modification" and, as a result, also renamed two
Jpeg/MpLoader
and Jpeg/MpSaver
functions: GetPermitEditUploadFlag
and SetPermitEditUploadFlag
are now GetPermitEditDistributeFlag
and SetPermitEditDistributeFlag
, respectively.
- Added the
IsExistFace
function to Jpeg/MpLoader
. This function determines whether a photo has facial information.
- Changed the archive names in the file path handled by
Jpeg/MpLoader
and Jpeg/MpSaver
(this handles virtual paths).
- Changed the system ID-related functions for
Jpeg/MpLoader
and Jpeg/MpSaver
because naming was standardized.
- Fixed a bug in some STL functions used within ImageDb, causing unexpected
new
statements to be run.
- Made revisions following a review of the
Result
enumerated type.
- Added functions to control the mounting of SD card archives:
mnt::IsMountSdmc
, mnt::MountSdmc
, and mnt::UnmountSdmc
.
- ● 2010-10-07 Release
-
- Updated to support SDK 0.13.1.
- Changed the control file format.
- Eliminated the use of
std::vector
and std::string
within ImageDb.
- Eliminated the
ResultErrorNeedRestore
error result.
- Changed
imgdb::util::EstimateRemainPictureNum
to handle estimates that account for the free space on an SD card.
- Caused memory to be released if it was left even after the
imgdb::Finalize
function was run.
- Set the current CTR system ID as the initial value for the "captured system ID," which
Jpeg/MpSaver
used to require that you specify.
- Prohibited uploads of modified screenshots saved by
Jpeg/MpSaver
.
- ● 2010-08-26 Release
-
- Updated to support SDK 0.12.0.
- Caused empty folders to be deleted when images are deleted.
- Fixed a bug that prevented some of the photo information in the database from being set.
- Updated to support JPEG output for the TWL system.
- Added support for decoding large images.
- Changed the control file format.
- Added SD card-related error definitions to the
imgdb::Result
enumerated type (these errors have not been implemented).
- ● 2010-07-26 Release
-
- Updated to support SDK 0.11.0.
- Fixed various bugs in
ImageDatabase
.
- Changed the Exif system Maker Notes and made various other changes to support that.
- Added support for handling unique title IDs in
Jpeg/MpSaver/Loader
.
- Changed sample programs because of support for unique title IDs.
- Changed sample programs to output a value when there is an error.
- ● 2010-07-05 Release
-
- Renamed the folders in which photos are stored to match the TWL system (for TWL compatibility).
- Corrected a failure to specify the uncompressed width during MP decoding.
- Added a function to get the current number of photos.
- Added a function to return the number of remaining photos given the size of a single photo.
- Added a mechanism for receiving and passing along binary data for a system Maker Note.
- Changed the control file format.
- ● 2010-06-11 Release
-
- Fixed a bug that prevented various Exif information from being applied during internal MP encoding.
- Fixed a bug that caused
MpSaver
to fail even when parameters were set correctly.
- Added a function to set the local host's ID as the various system IDs in
Jpeg/Saver/MpSaver
and changed samples for this.
- SHA-1 is used internally (
libnn_crypto
must be linked).
- ● 2010-06-04 Release
-
CONFIDENTIAL