Nikon Medata discussion

Started by leegong, January 30, 2015, 10:48:01 AM

Previous topic - Next topic

leegong

Hi ,all ,
According to firmware analysis , Nikon tag 0xBC seems to indicates NEF thumbnail :
bytes 0-3  :  string for version ,
byte 4-5 : maybe width
byte 6-7 : maybe height
byte 8-11 : unknown
byte 12 - N : data payload

Leegong 

Phil Harvey

Hi Leegong,

Can you tell me what model this is for so I can check some images?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Hayo Baan

Interesting, this looks like a newer tag to me; the older Nikon cameras I tested this with (D3, D200) don't have the tag, but the more recent D4 has.

The tag seems to be 7700 bytes long each time with quite a lot of 0 padding. It would be interesting to know what is in those bytes :)
Hayo Baan – Photography
Web: www.hayobaan.nl

leegong

#3
Hi , Phil , Hayo Baan ,
Tag 0xBC is found in D5100 firmware ,  size 0xD98 bytes  , including version string .

leegong

Tag 0xBA is found in D800 firmware , but not found in D5100 .
byte0 == 0x49
byte1 == 0x31
byte2 == 0x0
byte3 = Vignettecontrol : 0 - off , 1 - on
if byte3 = 0 , then followed by 258 bytes 0x0
if byte3 != 0 , then followed by unknown data

EDIT  : Tag 0xBC is found in D800 also , the size is 0x1E0C ,
different from 0xD98 in D5100 , but seems only the first 0x12DE bytes of data payload
are useful .

leegong

1 byte for tag0x8A , it is set by JPG encoding hardware engine after one YUV image
is encoded into JPG , it absolutely indicates sth related to JPG encoding , but i have
no idea about what it means exactly.   

leegong

#6
value for Tag0xA3 = enum{0 , 1} , it comes from bit5 of one byte,
each bit in this byte indicates one kind of status :
bit3  indicates GPS Auto Meter ,  : 1 On, 0 Off
bit2  indicates status of sensor cleaning
bit1  indicates status of Info Menu :0 - off , 1 - active 

Phil Harvey

Thanks for the hints.  I assume that this byte you are talking about for tag 0xa3 is found somewhere in the firmware, and not in the image metadata?  If so, I guess we are only interested in bit 5.  Any idea what it means?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

leegong

#8
Sorry , Phil , i have no idea about meaning of tag0xA3 .

Did you get thumbnail in tag0xBC ? i think that byte8 of tag0xBC is bitdepth .

Phil Harvey

Hi Leegong,

I have looked at tag 0x00bc, but it definitely isn't a JPEG thumbnail.  Also, if bytes 4-7 are width and height, then the image is very small (68x34 for the D5100).  How is the image data formatted?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

leegong

#10
Phil , sorry for my poor english , the "NEF thumbnail" i mentioned above
means RAW data  .
In D800 firmware ,  width = 0x42 , height = 0x2C ( 66x44 3:2 aspect ratio) ,  bitdepth = 12 (0xC)

Phil Harvey

Typically, very small images like this in other cameras are used for segmented metering.  Do you think this image could be used for exposure metering?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

leegong

There is other metering data generated by metering CCD , this thumbnail data comes from
main CMOS sensor , maybe it can be used for exposure metering in Liveview mode , but i'm not sure .
EDIT : For more info of Nikon firmware , please visit www.nikonhacker.com .

-Leegong

Phil Harvey

Thanks.  And thanks for the link.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

leegong

#14
Hi , Phil ,
Sorry , my fault , the URL above is wrong , here's correct URL : https://nikonhacker.com/

Regarding tag0x8A and tag0xA3 , if you have time and don't mind ,
could you please alter value of them  , then open image with
Nikon capture NX2  or View NX2 , check if specific error info is rendered ,
if so , it'll be helpful for decoding them . 

-Leegog