Quantcast
Channel: Adobe Community : Popular Discussions - DNG SDK
Viewing all 4036 articles
Browse latest View live

Build DNG SDK on Mac with XCode 6.2

$
0
0

Hello everyone,

 

I am trying to build the DNG_SDK Version 1.4 with XCode 6.2. I have downloaded all the third party libraries for xmp and dng sdk. After linking errors with the current xmp sdk 201412, I tried to compile DNG_SDK with XMP SDK Version CS6. The XMP Subproject is found in my DNG_SDK and is build successfully.

For the DNG SDK I still get linker errors and I have no clue why (regardless which architecture I select i386 or x64):

 

Ld /Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release/dng_validate normal i386

    cd /Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/projects/mac

    export MACOSX_DEPLOYMENT_TARGET=10.9

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cl ang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOS X10.9.sdk -L/Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release -F/Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release -filelist /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Intermediates/dng_validate.build/Default/dng_validate\ release.build/Objects-normal/i386/dng_validate.LinkFileList -mmacosx-version-min=10.9 /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Products/libXMPFilesStatic.a /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Products/libXMPCoreStatic.a -framework Carbon -Xlinker -dependency_info -Xlinker /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Intermediates/dng_validate.build/Default/dng_validate\ release.build/Objects-normal/i386/dng_validate_dependency_info.dat -o /Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release/dng_validate

 

Undefined symbols for architecture i386:

  "TXMPMeta<std::string>::Initialize()", referenced from:

      XMPFiles::Initialize(unsigned int, char const*, char const*) in libXMPFilesStatic.a(XMPFiles.o)

  "TXMPMeta<std::string>::SetProperty(char const*, char const*, std::string const&, unsigned int)", referenced from:

      P2_MetaHandler::SetAudioInfoFromLegacyXML(bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetVideoFrameInfoFromLegacyXML(XML_Node*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      MP3_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MP3_Handler.o)

      ReadIDXFile(std::string const&, std::string const&, TXMPMeta<std::string>*, bool&, MD5_CTX*, bool) in libXMPFilesStatic.a(SonyHDV_Handler.o)

      XDCAMEX_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(XDCAMEX_Handler.o)

      XDCAM_Support::GetLegacyMetadata(TXMPMeta<std::string>*, XML_Node*, char const*, bool, std::string&) in libXMPFilesStatic.a(XDCAM_Support.o)

      RIFF::importProperties(RIFF_MetaHandler*) in libXMPFilesStatic.a(RIFF_Support.o)

      ...

  "TXMPMeta<std::string>::SetProperty(char const*, char const*, char const*, unsigned int)", referenced from:

      ID3_Support::ID3v1Tag::read(XMP_IO*, TXMPMeta<std::string>*) in libXMPFilesStatic.a(ID3_Support.o)

      P2_MetaHandler::SetXMPPropertyFromLegacyXML(bool, XML_Node*, char const*, char const*, char const*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetGPSPropertyFromLegacyXML(XML_Node*, bool, char const*, char const*) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetAltitudeFromLegacyXML(XML_Node*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      MP3_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MP3_Handler.o)

      MPEG4_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MPEG4_Handler.o)

      ReadIDXFile(std::string const&, std::string const&, TXMPMeta<std::string>*, bool&, MD5_CTX*, bool) in libXMPFilesStatic.a(SonyHDV_Handler.o)

      ...

  "TXMPMeta<std::string>::DeleteProperty(char const*, char const*)", referenced from:

      P2_MetaHandler::SetRelationsFromLegacyXML(bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetDurationFromLegacyXML(bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetGPSPropertyFromLegacyXML(XML_Node*, bool, char const*, char const*) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetAltitudeFromLegacyXML(XML_Node*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(P2_Handler.o)

      JPEG_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(JPEG_Handler.o)

      MPEG4_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MPEG4_Handler.o)

      ...

 

Any hint is appreciated. Thanks

 

I found a hint here (Xcode Compile Error Undefined symbols for architecture x86_64:   "TXMPMeta<std::string>::Initialize() that a include statement would be missing, but that is defined in the dng sdk (dng_xmp_sdk.cpp):

 

#if qMacOS

#ifndef MAC_ENV

#define MAC_ENV 1

#endif

#endif

 

#if qWinOS

#ifndef WIN_ENV

#define WIN_ENV 1

#endif

#endif

 

#include <new>

#include <string>

 

#define TXMP_STRING_TYPE std::string

 

#define XMP_INCLUDE_XMPFILES qDNGXMPFiles

 

#define XMP_StaticBuild 1

 

#include "XMP.incl_cpp"

 

This cannot be the reason..


Using LookTable and HSV with saturation of zero

$
0
0

I am currently looking at the DNG spec and the SDK, specifically using the LookTable to encode an HSV conversion that does not necessarily preserve grays.

But as these are HSV tables and the way these tables are setup, there does not seem to be a way to increase saturation of a pixel whose initial saturation is 0 (zero), since the values stored are saturation scales.

For example, below are the input HSV values (using DNG SDK's encoding range) and the value it needs to be transformed to.

 

Input= Hue: 2.5 Sat: 0 Val: 0.0666667

Output= Hue: 3.96332 Sat: 0.285995 Val: 0.0977313

 


So, the question I am hoping someone has an answer to is, is this even possible using a DCP file? If yes, any pointers would be appreciated!


Thank you!

Missing DNG Tag: ProfileToneCurve

$
0
0

Hello everyone,

 

I've been trying investigate DNG tags in file using dng_validate in DNG sdk v1.4. In 'dng_validate' -d <num> option should show all information i.e. tags in .dng. However some of them are not visible. For example, ProfileToneCurve.

 

Why I cannot access them? Is there any other ways to access tags?

 

Thanks.

Understanding ISO Change Effect on RAW Image and GainMap Opcode

$
0
0

I am trying to figure out GainMap tags change by ISO in ".dng" file. I came across with this question: https://forums.adobe.com/thread/1410199 and this answer: https://forums.adobe.com/message/6145362#6145362 helped me to understand.

 

To understand ISO’s effect better, I took 10 pictures and averaged them when ISO was 100. Then I took 10 more of the same scene and averaged them again, but this time ISO was 200. Among the two sets of images, the only change is ISO, i.e. all other parameters are fixed.

 

Pixel values were doubled in RAW of the average of second set w.r.t the first set, globally, since only the ISO was doubled (as I expected). I also averaged 4 GainMap opcodes separately for the first set of images (ISO100), and for the second set of images (ISO200). Again, when I compared the two sets (ISO100 vs. ISO200), second and third opcodes are exactly the same for the two sets. However, first and fourth GainMap opcodes are different. Can you help me to figure out what is the reason of this difference?

 

Here I'm sharing the change of GainMap opcodes, which are obtained by point-wise dividing the two matrices which are obtained by the two sets (ISO100 vs. ISO200). Colorbar shows the scale of change. As I mentioned, only first and fourth GainMap opcodes are different, so that I’m putting the two here. The other two are the same with each other.

 

combined.jpg

 

Thanks in advance for your time.

Difference Between Adobe DNG SDK and Photoshop's Results

$
0
0

I'm trying to find Photoshop's image processing operations applied to an image by comparing DNG SDK.

 

For example, this is the difference between DNG SDK's sRGB result and Photoshop's sRGB result . (SDK's full pipeline is applied to RAW image, and for the Photoshop case RAW image is opened and saved as sRGB .tiff file.)

previous.png

Then I realized that Photoshop applies noise reduction and sharpening to the images. Then I decreased all these parameters to 0, as much as I can do. Here is what I did.

noise_reduction.PNG

 

Then the difference is less. However it is not zero. Here, you can see the difference between the two images.

 

difference.png

 

What could be the other operations that Photoshop applies to the images rather than noise reduction and sharpening?

 

Thanks in advance for your time.

How to export raw data from DNG?

$
0
0

Hello

I want export Bayer data from my DNG file. I am reading DNG SDK, the dng_validate can parse my DNG file ,there are four lossless jpg in the file. But I can't find the rule to make a RAW data file.

ConstPixel can get a buffer, but can't preview the buffer in Photoshop.

Is there any explain about  the order of RGGB in the ConstPixel, or and document specifies how to convert the four planes jpg to a bayer raw data?

Thanks

Saving a DNG

$
0
0

Hello, i have opened up a DNG profile and gotten a bit of info out of it. The stream is open as readonly. I want to make 1 change to it, that is the camera profile name. So after i have done this, i want to save the DNG profile back out. I know it's some sort of combination of host, a writeable stream, a negative and a writer, but the writer takes a thumbnail which i dont have. Can anyone point me to simple sample code for saving my profile out. Just an open profile and save to another filename would be fine.

 

thx for the help.

 

AC

How to import a real raw CFA image into a DNG ?

$
0
0

Hello everybody, I have searched this discussion forum and the net as good as I could, but unfortunately I was not able to find a way

to import properly an absolute raw CFA image generated by an image sensor with Bayer pattern into DNG file.

Not to mention on how to import a monochrome raw image .

I have read the documentation that comes with the SDK but it's really lacking, basically totally missing any concept description or, God forbid,

having some simple examples to help somebody start. The dng_validate example is another complex beast and it seems that the documentation spends

more time in describing various command line switches than talking about the architecture and the process of building a DNG image.

Actually, I wasn't able to find any clear explanation of the architecture of this complex software project, nor any sensful explanation about the classes hierarchy .

If this things exists somewhere I would be greatfull if somebody could kindly point me to them but I'm not holding my breath.

Anyway, if somebody has a working piece of code detailing on how to import a CFA blob into a DNG ( only stage 1 is needed but pointers/examples for other stages are

appreciated as well ) and it could share it I will be very, very gratefull.

I'm just an engineer working on vegetable/fruit sorting machines but I don't need a complete hand holding but just a starting point, I really don't know where to start and what is the

class that have to be instantiated to start filling it with data.

Any help is appreciated and please excuse the spelling/grammar, English is not my native language.

 

Cheers,

M.D.


What do I need to create DNG from scratch?

$
0
0

Hello everybody,

 

Is it possible to create DNG from RGB data? I need to implement export of images into DNG format in my application. All I have is image width, height and array of floating-point RGB data.

 

I'm experimenting with DNG SDK for two days, playing with dng_negative parmeters. I've figured out that I can't use ttFloat type of image — it's not supported, BuildStage2Image thorws an exception. Okay, I've converted source data into uint16 and stored it as ttShort dng_image. But my best result was DNG file with very weird colors.

 

So what do I need to store my data into DNG? What color matrix and calibration illuminant should I use? What dng_negative parameters could be leaved with default values? Doxygen documentation is very unclear. All examples I've found over network (on this forum, in sources of digiKam project, etc) is about converting some raw image into DNG. I don't need to convert image file, I need to build DNG from scratch.

 

This is my source, if it can help to undestand what am I doing:

dng_host dngHost;
dngHost.SetSaveLinearDNG(false);

dng_rect imageRect(img.height(), img.width());

AutoPtr<dng_image> dngImage(new dng_simple_image(imageRect, 3, ttShort, dngHost.Allocator()));

// Convert source floating-point image into uint16
QVector<uint16> shortData(img.width() * img.height() * 3);
float *srcData = img.data();
uint16 *dstData = shortData.data();

for (int i = 0; i < img.width() * img.height() * 3; ++i) {    *(dstData++) = static_cast<uint16>(qMin(*(srcData++), 1.0f) * 65535.0f);
}

dng_pixel_buffer buffer;
buffer.fArea = imageRect;
buffer.fPlane = 0;
buffer.fPlanes = 3;
buffer.fRowStep = 3 * img.width();
buffer.fColStep = 3;
buffer.fPlaneStep = 1;
buffer.fPixelType = ttShort;
buffer.fPixelSize = TagTypeSize(ttShort);
buffer.fData = shortData.data();
dngImage->Put(buffer);

AutoPtr<dng_negative> dngNegative(dngHost.Make_dng_negative());

dngNegative->SetDefaultScale(dng_urational(1, 1), dng_urational(1, 1));
dngNegative->SetDefaultCropOrigin(0, 0);
dngNegative->SetDefaultCropSize(img.width(), img.height());
dngNegative->SetActiveArea(imageRect);
dngNegative->SetModelName("Dummy");
dngNegative->SetLocalName("Dummy");
dngNegative->SetOriginalRawFileName(fi.fileName().toUtf8().constData());
dngNegative->SetColorChannels(3);
dngNegative->SetColorKeys(colorKeyRed, colorKeyGreen, colorKeyBlue);
dngNegative->SetWhiteLevel((0x01 << 16) - 1);
dngNegative->SetBlackLevel(0);
dngNegative->SetBaselineExposure(0.0);
dngNegative->SetNoiseReductionApplied(dng_urational(0, 1));
dngNegative->SetBaselineNoise(1.0);
dngNegative->SetBaselineSharpness(1.0);
dngNegative->SetBaseOrientation(dng_orientation::Normal());
dngNegative->SetLinearResponseLimit(1.0);

AutoPtr<dng_camera_profile> prof(new dng_camera_profile);
prof->SetName("dummy");
dng_matrix_3by3 camXYZ(1.0f, 1.0f, 1.0f);
prof->SetColorMatrix1(static_cast<dng_matrix>(camXYZ));
prof->SetCalibrationIlluminant1(lsD65);
prof->SetWasReadFromDNG(true);
dngNegative->AddProfile(prof);

dngNegative->SetStage1Image(dngImage);
dngNegative->BuildStage2Image(dngHost);
dngNegative->BuildStage3Image(dngHost);
dngNegative->SynchronizeMetadata();
dngNegative->RebuildIPTC(true, false);

dng_image_preview thumbnail;
dng_render render(dngHost, *dngNegative);
render.SetFinalSpace(dng_space_sRGB::Get());
render.SetFinalPixelType(ttByte);
render.SetMaximumSize(256);
thumbnail.fImage.Reset(render.Render());

dng_image_writer writer;
dng_file_stream stream(QFile::encodeName(filename).constData(), true);
writer.WriteDNG(dngHost, stream, *dngNegative.Get(), thumbnail, ccUncompressed);

Newbie - getting started

$
0
0

Hi,

Hopefully someone can help me here.  I'm looking to place either simulated or camera raw output (and here I mean a matrix of 8 or 10 bit values without debayering) into a RAW format so that I can experiment with the debayering, white balance, colour profiles, linearization or LUTs that I need to shift my camera output into a useable image.  I was thinking about using the Adobe DNG format - but I'm struggling to understand where to start with this.

 

What I'd like to do to start with is simply create a DNG file with, say, a 10x10 image size, 8 bit data with a ramp profile: e.g.

0 20 40 60 80 100 120 140 160 180

0 20 40 60 80 100 120 140 160 180

.

.

.

0 20 40 60 80 100 120 140 160 180

 

I've been looking at using the dng_validate example and creating a new function:

 

static

 

dng_error_code dng_createsim (constchar *filenameOut)

{

 

 

}

 

After several attempts at this, I've sort of guessed that I need to access the data buffer in negative->Stage1Image(), but I've not succeeded in this.

 

Thanks for any help.

 

Simon

Transparency examples in DNG (SDK 1.4)

$
0
0

Hi All, I am new on this forum. I just started to assess the possibilities of DNG (and its SDK) for my photo processing pipeline. Being able to add (semi-) transparent pixels to sets of photos is one of my requirements, and since DNG SDK v1.4 this seems supported. Also, I was wondering how these transparent are pixels would be treated when popular end-user tools such as LightRoom and Adobe Camera Raw are used to further post-process the resulting DNGs.

I searched this forum and skimmed the DNG SDK source code, but effectively I haven't been able to generate results.

Does anyone have pointers here to:

  • Sample DNG file(s) with transparent layer ?
  • Code snippets for adding/accessing (an existing image as) a layer in an existing DNG file ?

How to import a real raw CFA image into a DNG ?

$
0
0

Hello everybody, I have searched this discussion forum and the net as good as I could, but unfortunately I was not able to find a way

to import properly an absolute raw CFA image generated by an image sensor with Bayer pattern into DNG file.

Not to mention on how to import a monochrome raw image .

I have read the documentation that comes with the SDK but it's really lacking, basically totally missing any concept description or, God forbid,

having some simple examples to help somebody start. The dng_validate example is another complex beast and it seems that the documentation spends

more time in describing various command line switches than talking about the architecture and the process of building a DNG image.

Actually, I wasn't able to find any clear explanation of the architecture of this complex software project, nor any sensful explanation about the classes hierarchy .

If this things exists somewhere I would be greatfull if somebody could kindly point me to them but I'm not holding my breath.

Anyway, if somebody has a working piece of code detailing on how to import a CFA blob into a DNG ( only stage 1 is needed but pointers/examples for other stages are

appreciated as well ) and it could share it I will be very, very gratefull.

I'm just an engineer working on vegetable/fruit sorting machines but I don't need a complete hand holding but just a starting point, I really don't know where to start and what is the

class that have to be instantiated to start filling it with data.

Any help is appreciated and please excuse the spelling/grammar, English is not my native language.

 

Cheers,

M.D.

How can i access cinemadng frame rate using the dng sdk?

$
0
0

I'm trying to figure out the right way to access the CinemaDNG frame rate using the DNG SDK --- preferably without having to hack up the DNG SDK, since that would have to be redone each time the DNG SDK changes. It looks like all the code has little loops for scanning tag directories, and when something unknown is found, it is dropped silently with no callback, so that there is no way to process out-of-scope tags such as those for CinemaDNG without replicating the original code.

 

On initial study it looks like the Cinema DNG tags, as produced by Blackmagic cameras, are DNG TIFF-like data, not as XMP-only data as the CinemaDNG 1.1 standard seems to suggest (Annex A). I suspect this is because the odds of a separate XMP file being carried around that matches the DNG images is low. Not apparent that they can be retrieved from either place.

 

So I'm wondering what the nominal Cinema DNG overlay onto the DNG SDK is. This is low-hanging fruit.

 

If the entire XMP library was to fall out of DNG and Cinema DNG, the world would be a much simpler place. Too many answers for too little problem. It's taken about a week to get the DNG SDK library to compile on Linux, with Windows still in progress and Mac to go. (cmake another non-helpful thing.... too much that does too little --- that doesn't match my build environment). KISS!

Using LookTable and HSV with saturation of zero

$
0
0

I am currently looking at the DNG spec and the SDK, specifically using the LookTable to encode an HSV conversion that does not necessarily preserve grays.

But as these are HSV tables and the way these tables are setup, there does not seem to be a way to increase saturation of a pixel whose initial saturation is 0 (zero), since the values stored are saturation scales.

For example, below are the input HSV values (using DNG SDK's encoding range) and the value it needs to be transformed to.

 

Input= Hue: 2.5 Sat: 0 Val: 0.0666667

Output= Hue: 3.96332 Sat: 0.285995 Val: 0.0977313

 


So, the question I am hoping someone has an answer to is, is this even possible using a DCP file? If yes, any pointers would be appreciated!


Thank you!

Understanding ISO Change Effect on RAW Image and GainMap Opcode

$
0
0

I am trying to figure out GainMap tags change by ISO in ".dng" file. I came across with this question: https://forums.adobe.com/thread/1410199 and this answer: https://forums.adobe.com/message/6145362#6145362 helped me to understand.

 

To understand ISO’s effect better, I took 10 pictures and averaged them when ISO was 100. Then I took 10 more of the same scene and averaged them again, but this time ISO was 200. Among the two sets of images, the only change is ISO, i.e. all other parameters are fixed.

 

Pixel values were doubled in RAW of the average of second set w.r.t the first set, globally, since only the ISO was doubled (as I expected). I also averaged 4 GainMap opcodes separately for the first set of images (ISO100), and for the second set of images (ISO200). Again, when I compared the two sets (ISO100 vs. ISO200), second and third opcodes are exactly the same for the two sets. However, first and fourth GainMap opcodes are different. Can you help me to figure out what is the reason of this difference?

 

Here I'm sharing the change of GainMap opcodes, which are obtained by point-wise dividing the two matrices which are obtained by the two sets (ISO100 vs. ISO200). Colorbar shows the scale of change. As I mentioned, only first and fourth GainMap opcodes are different, so that I’m putting the two here. The other two are the same with each other.

 

combined.jpg

 

Thanks in advance for your time.


Crash when creating a Lossless-jpeg compressed DNG

$
0
0

Hi all,

 

everything is in the title i guess. I work on a legacy system, using DNG SDK 1.1 (upgrading is not an option). The software was originally desgined under win, and is now ported to mac os X. When saving an image to a dng format, an exception is thrown during the lossless jpeg encoding. Do you have any idea of what it might be? What tests can I run?

 

thansk

S.

DNG data production

$
0
0

I have a camera which delivers a data stream of pure pixel values. Pixels are 12 bit packed data.

There is no header in front of the data. Software like Irfan has no problem to open it.

What I search, is the possibility to convert these images to DNG.

As far as I understood, DNG Converter cannot read in pure pixel data.

Build DNG SDK on Mac with XCode 6.2

$
0
0

Hello everyone,

 

I am trying to build the DNG_SDK Version 1.4 with XCode 6.2. I have downloaded all the third party libraries for xmp and dng sdk. After linking errors with the current xmp sdk 201412, I tried to compile DNG_SDK with XMP SDK Version CS6. The XMP Subproject is found in my DNG_SDK and is build successfully.

For the DNG SDK I still get linker errors and I have no clue why (regardless which architecture I select i386 or x64):

 

Ld /Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release/dng_validate normal i386

    cd /Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/projects/mac

    export MACOSX_DEPLOYMENT_TARGET=10.9

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cl ang++ -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOS X10.9.sdk -L/Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release -F/Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release -filelist /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Intermediates/dng_validate.build/Default/dng_validate\ release.build/Objects-normal/i386/dng_validate.LinkFileList -mmacosx-version-min=10.9 /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Products/libXMPFilesStatic.a /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Products/libXMPCoreStatic.a -framework Carbon -Xlinker -dependency_info -Xlinker /Users/sboegel/Library/Developer/Xcode/DerivedData/dng_validate-fjjibtptniqsozaqnhhmkybxy udz/Build/Intermediates/dng_validate.build/Default/dng_validate\ release.build/Objects-normal/i386/dng_validate_dependency_info.dat -o /Users/sboegel/Downloads/dng_sdk_1_4/dng_sdk/targets/mac/release/dng_validate

 

Undefined symbols for architecture i386:

  "TXMPMeta<std::string>::Initialize()", referenced from:

      XMPFiles::Initialize(unsigned int, char const*, char const*) in libXMPFilesStatic.a(XMPFiles.o)

  "TXMPMeta<std::string>::SetProperty(char const*, char const*, std::string const&, unsigned int)", referenced from:

      P2_MetaHandler::SetAudioInfoFromLegacyXML(bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetVideoFrameInfoFromLegacyXML(XML_Node*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      MP3_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MP3_Handler.o)

      ReadIDXFile(std::string const&, std::string const&, TXMPMeta<std::string>*, bool&, MD5_CTX*, bool) in libXMPFilesStatic.a(SonyHDV_Handler.o)

      XDCAMEX_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(XDCAMEX_Handler.o)

      XDCAM_Support::GetLegacyMetadata(TXMPMeta<std::string>*, XML_Node*, char const*, bool, std::string&) in libXMPFilesStatic.a(XDCAM_Support.o)

      RIFF::importProperties(RIFF_MetaHandler*) in libXMPFilesStatic.a(RIFF_Support.o)

      ...

  "TXMPMeta<std::string>::SetProperty(char const*, char const*, char const*, unsigned int)", referenced from:

      ID3_Support::ID3v1Tag::read(XMP_IO*, TXMPMeta<std::string>*) in libXMPFilesStatic.a(ID3_Support.o)

      P2_MetaHandler::SetXMPPropertyFromLegacyXML(bool, XML_Node*, char const*, char const*, char const*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetGPSPropertyFromLegacyXML(XML_Node*, bool, char const*, char const*) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetAltitudeFromLegacyXML(XML_Node*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      MP3_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MP3_Handler.o)

      MPEG4_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MPEG4_Handler.o)

      ReadIDXFile(std::string const&, std::string const&, TXMPMeta<std::string>*, bool&, MD5_CTX*, bool) in libXMPFilesStatic.a(SonyHDV_Handler.o)

      ...

  "TXMPMeta<std::string>::DeleteProperty(char const*, char const*)", referenced from:

      P2_MetaHandler::SetRelationsFromLegacyXML(bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetDurationFromLegacyXML(bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetGPSPropertyFromLegacyXML(XML_Node*, bool, char const*, char const*) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::SetAltitudeFromLegacyXML(XML_Node*, bool) in libXMPFilesStatic.a(P2_Handler.o)

      P2_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(P2_Handler.o)

      JPEG_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(JPEG_Handler.o)

      MPEG4_MetaHandler::ProcessXMP() in libXMPFilesStatic.a(MPEG4_Handler.o)

      ...

 

Any hint is appreciated. Thanks

 

I found a hint here (Xcode Compile Error Undefined symbols for architecture x86_64:   "TXMPMeta<std::string>::Initialize() that a include statement would be missing, but that is defined in the dng sdk (dng_xmp_sdk.cpp):

 

#if qMacOS

#ifndef MAC_ENV

#define MAC_ENV 1

#endif

#endif

 

#if qWinOS

#ifndef WIN_ENV

#define WIN_ENV 1

#endif

#endif

 

#include <new>

#include <string>

 

#define TXMP_STRING_TYPE std::string

 

#define XMP_INCLUDE_XMPFILES qDNGXMPFiles

 

#define XMP_StaticBuild 1

 

#include "XMP.incl_cpp"

 

This cannot be the reason..

Setting correct Bayer mosaic pattern using DNG SDK

$
0
0

Hey,


I'm having a problem generating DNG files from raw image files. The problem relates to the demosaicing parameters. I have a raw image from each of two different cameras (Cannon D200 and Panasonic Lumix). Using dcraw.exe (to display the EXIF info) I find that the Bayer filter pattern for each of these images is RGGB. I take this to mean RG/GB for row1/row2 of 2x2 pattern.


Using the DNG SDK, I have written code to modify and then write the raw pixel values to a DNG file. I set the mosaic parameters using negative->fSetBayerMosic(phase), where phase is 0 for GRBG, 1 for RGGB, 2 for BGGR and 3 for GBRG. (As a side point I also set the fCFAPattern[][] values to the equivalent values, e.g. 01/12 for RGGB, but this doesn't seem to change the Bayer mosaic pattern in the DNG EXIF?). The problem is that when I view the DNGs, the DNG from the Panasonic is correctly displayed in Photoshop, but the DNG for the Canon image is clearly demosaiced incorrectly. By setting phase to 0, the Canon DNG image is demosaiced correctly (but not the Panasonic).


What is really confusing me is that by writing the same images to DNGs using libtiff, I set the Bayer pattern to RGGB as TIFFSetField (tif, TIFFTAG_CFAPATTERN, 4,"\0\001\001\002" ) and the DNG's for the images from both cameras are displayed correctly in Photoshop.


So even though dcraw says the Bayer pattern is RGGB for both camera images, using fSetBayerMosaic(1) only causes the Panasonic image to be correctly decoded. Is there some other parameter that can affect the demosaicing that occurs when building the DNG images? I'm taking the Bayer pattern value from the decoded raw image using libraw (imgdata.idata.filters parameter). Libraw is just an api for dcraw.


Also, can anyone explain to me the significance of the stage1, stage2 and stage3 images? Must all three be built to creat a valid DNG? I understand that demosaicing occurs when builing the stage3 image, and this is where I have been focussing my debugging time for the above problem. Does this make sense?


Hoping someone can help with this,


aubrey

DNG Converter source: who to ask

$
0
0

Hi,

 

I do not know if Adobe people are actually reading the forums (but one can always hope). I am currently researching the possibility of raw conversion on Unix operating systems (BSD, Linux, Solaris and the like). The only solution currently in existance is called 'dcraw', and well... it's quite limited in its scope, and ugly (both from an engineering point of view *and* from a user's perspective).

 

It would be nice if Adobe could be persuaded to provide access to their DNG converter sources, so that one can at least try and produce a non-Windows port of it. Together with the DNG SDK, this could be a very powerful combination. Judging from a short look at it, at least the SDK should not be completely impossible to port to a another platform (of course, licensing issues would have to be clarified, but that's another issue). At the moment, the main problem remains: who to ask?

 

Regards,

Robert

Viewing all 4036 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>