Patch #919 » samsung.diff
| exiv2-0.23-fixed/src/makernote.cpp 2013-08-29 13:41:28.000000000 +0200 | ||
|---|---|---|
| 902 | 902 |
TiffComponent* newSamsungMn(uint16_t tag, |
| 903 | 903 |
IfdId group, |
| 904 | 904 |
IfdId mnGroup, |
| 905 |
const byte* /*pData*/,
|
|
| 905 |
const byte* pData,
|
|
| 906 | 906 |
uint32_t size, |
| 907 | 907 |
ByteOrder /*byteOrder*/) |
| 908 | 908 |
{
|
| 909 |
// Require at least an IFD with 1 entry |
|
| 910 |
if (size < 18) return 0; |
|
| 911 |
return newSamsungMn2(tag, group, mnGroup); |
|
| 909 |
if ( size > 4 |
|
| 910 |
&& std::string(reinterpret_cast<const char*>(pData), 4) == std::string("AOC\0", 4)) {
|
|
| 911 |
// Samsung branded Pentax camera: |
|
| 912 |
// Require at least the header and an IFD with 1 entry |
|
| 913 |
if (size < PentaxMnHeader::sizeOfSignature() + 18) return 0; |
|
| 914 |
return newPentaxMn2(tag, group, pentaxId); |
|
| 915 |
} |
|
| 916 |
else {
|
|
| 917 |
// Genuine Samsung camera: |
|
| 918 |
// Require at least an IFD with 1 entry |
|
| 919 |
if (size < 18) return 0; |
|
| 920 |
return newSamsungMn2(tag, group, mnGroup); |
|
| 921 |
} |
|
| 912 | 922 |
} |
| 913 | 923 | |
| 914 | 924 |
TiffComponent* newSamsungMn2(uint16_t tag, |