summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--v3/Android.mk4
-rw-r--r--v3/EmulatedCamera3.cpp2
-rw-r--r--v3/EmulatedFakeCamera3.cpp99
-rw-r--r--v3/EmulatedFakeCamera3.h1
-rw-r--r--[-rwxr-xr-x]v3/EmulatedFakeCamera3Info.cpp1
-rw-r--r--[-rwxr-xr-x]v3/VendorTags.cpp7
-rw-r--r--v3/fake-pipeline2/Base.h2
-rw-r--r--v3/fake-pipeline2/JpegCompressor.cpp689
-rw-r--r--v3/fake-pipeline2/JpegCompressor.h26
-rw-r--r--v3/fake-pipeline2/Sensor.cpp45
-rw-r--r--v3/fake-pipeline2/Sensor.h2
11 files changed, 789 insertions, 89 deletions
diff --git a/v3/fake-pipeline2/JpegCompressor.h b/v3/fake-pipeline2/JpegCompressor.h
index 5c61aca..464af4d 100644
--- a/v3/fake-pipeline2/JpegCompressor.h
+++ b/v3/fake-pipeline2/JpegCompressor.h
@@ -32,6 +32,12 @@
#include <utils/List.h>
#include <stdio.h>
+#include <libexif/exif-entry.h>
+#include <libexif/exif-data.h>
+#include <libexif/exif-ifd.h>
+#include <libexif/exif-loader.h>
+#include <libexif/exif-mem.h>
+
extern "C" {
#include <jpeglib.h>
#include <jhead.h>
@@ -75,6 +81,11 @@ struct CaptureRequest {
bool mNeedThumbnail;
};
+typedef struct _exif_buffer {
+ unsigned char *data;
+ unsigned int size;
+} exif_buffer;
+
class ExifElementsTable {
public:
ExifElementsTable() :
@@ -131,6 +142,21 @@ class JpegCompressor: private Thread, public virtual RefBase {
void SetMaxJpegBufferSize(ssize_t size);
void SetExifInfo(struct ExifInfo info);
int GenExif(ExifElementsTable* exiftable);
+ status_t Create_Exif_Use_Libjpeg();
+ status_t Create_Exif_Use_Libexif();
+ exif_buffer *get_exif_buffer();
+ void exif_entry_set_string (ExifData * pEdata, ExifIfd eEifd, ExifTag eEtag, const char *s);
+ void exif_entry_set_short (ExifData * pEdata, ExifIfd eEifd, ExifTag eEtag, ExifShort n);
+ void exif_entry_set_long (ExifData * pEdata, ExifIfd eEifd, ExifTag eEtag, ExifLong n);
+ void exif_entry_set_rational (ExifData * pEdata, ExifIfd eEifd, ExifTag eEtag, ExifRational r);
+ void exif_entry_set_undefined (ExifData * pEdata, ExifIfd eEifd, ExifTag eEtag, exif_buffer * buf);
+ ExifEntry *init_tag(ExifData *exif, ExifIfd ifd, ExifTag tag);
+ ExifEntry *create_tag(ExifData *exif, ExifIfd ifd, ExifTag tag, size_t len);
+ void exif_entry_set_gps_coord(ExifData * pEdata, ExifTag eEtag,
+ ExifRational r1, ExifRational r2, ExifRational r3);
+ void exif_entry_set_gps_altitude(ExifData * pEdata, ExifTag eEtag, ExifRational r1);
+ void exif_entry_set_gps_coord_ref(ExifData * pEdata, ExifTag eEtag, const char *s);
+ void exif_entry_set_gps_altitude_ref(ExifData * pEdata, ExifTag eEtag, ExifByte n);
// TODO: Measure this
static const size_t kMaxJpegSize = 8000000;