Warning [minor] Unknown APP4 segment

Started by VladoBENZ, March 13, 2025, 01:07:11 AM

Previous topic - Next topic

VladoBENZ

Hi, I have a question. Now I am arranging all of my photos, taken with different Sony Xperia phones. Apparantly some of the models, not everyone, puts in the metadata some info, that is unknown to exiftool, and it shows like that: Warning [minor] Unknown APP4 segment. When I edit the photo, for example copy metadata from original to the edited copy, exiftool apparantly edit this info, and the warning disappears. My question is, how can i copy the metadata from one file to other, without losing the warning. I want all the photos I edit, to have absolutely the same metadata, as the original, so it is not recongisable if they are edited or not.

Phil Harvey

ExifTool can not be used to copy unknown metadata like this.

- 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 ($).

VladoBENZ

#2
Ok, then please, can you assist me, if i can change it manually in a hex editor...btw i put exiftool -v3 command on the original file and the copied one, and this is the difference...for example why JPEG DHT is the same size on both 416 bytes, but on the original it looks a lot less signs...and on the copied one is devided in three portions? I am sorry for the question, but I want to find out the logic behind the tags and the metadata. btw is there any literature that can help me understand those things, so i can manually add or delete in hex editor, or it is not possible?

Original:

JPEG APP4 (34 bytes):
      65a1: 51 75 61 6c 63 6f 6d 6d 20 43 61 6d 65 72 61 20 [Qualcomm Camera ]
      65b1: 44 65 62 75 67 00 05 00 00 00 30 ec c6 ce 10 00 [Debug.....0.....]
      65c1: 48 cd                                          [H.]
JPEG DQT (130 bytes):
      65c7: 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 [................]
      65d7: 02 02 01 01 01 01 03 02 02 02 02 03 03 04 04 03 [................]
      65e7: 03 03 03 04 04 06 05 04 04 05 04 03 03 05 07 05 [................]
      65f7: 05 06 06 06 06 06 04 05 07 07 07 06 07 06 06 06 [................]
      6607: 06 01 01 01 01 01 01 01 03 02 02 03 06 04 03 04 [................]
      6617: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
      6627: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
      [snip 18 bytes]
JPEG SOF0 (15 bytes):
      664d: 08 08 70 0f 00 03 01 22 00 02 11 01 03 11 01    [..p....".......]
  ImageWidth = 3840
  ImageHeight = 2160
  EncodingProcess = 0
  BitsPerSample = 8
  ColorComponents = 3
  YCbCrSubSampling = 2 2
JPEG DHT (416 bytes):
      6660: 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 [................]
      6670: 00 00 01 02 03 04 05 06 07 08 09 0a 0b 10 00 02 [................]
      6680: 01 03 03 02 04 03 05 05 04 04 00 00 01 7d 01 02 [.............}..]
      6690: 03 00 04 11 05 12 21 31 41 06 13 51 61 07 22 71 [......!1A..Qa."q]
      66a0: 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 f0 24 33 [.2....#B...R..$3]
      66b0: 62 72 82 09 0a 16 17 18 19 1a 25 26 27 28 29 2a [br........%&'()*]
      66c0: 34 35 36 37 38 39 3a 43 44 45 46 47 48 49 4a 53 [456789:CDEFGHIJS]
      [snip 304 bytes]

Copied file:

JPEG DQT (65 bytes):
      65a1: 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 [................]
      65b1: 02 02 01 01 01 01 03 02 02 02 02 03 03 04 04 03 [................]
      65c1: 03 03 03 04 04 06 05 04 04 05 04 03 03 05 07 05 [................]
      65d1: 05 06 06 06 06 06 04 05 07 07 07 06 07 06 06 06 [................]
      65e1: 06                                              [.]
JPEG DQT (65 bytes):
      65e6: 01 01 01 01 01 01 01 03 02 02 03 06 04 03 04 06 [................]
      65f6: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
      6606: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
      6616: 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 [................]
      6626: 06                                              [.]
JPEG SOF0 (15 bytes):
      662b: 08 08 70 0f 00 03 01 22 00 02 11 01 03 11 01    [..p....".......]
  ImageWidth = 3840
  ImageHeight = 2160
  EncodingProcess = 0
  BitsPerSample = 8
  ColorComponents = 3
  YCbCrSubSampling = 2 2
JPEG DHT (29 bytes):
      663e: 00 00 01 05 01 01 01 01 01 01 00 00 00 00 00 00 [................]
      664e: 00 00 01 02 03 04 05 06 07 08 09 0a 0b          [.............]
JPEG DHT (179 bytes):
      665f: 10 00 02 01 03 03 02 04 03 05 05 04 04 00 00 01 [................]
      666f: 7d 01 02 03 00 04 11 05 12 21 31 41 06 13 51 61 [}........!1A..Qa]
      667f: 07 22 71 14 32 81 91 a1 08 23 42 b1 c1 15 52 d1 [."q.2....#B...R.]
      668f: f0 24 33 62 72 82 09 0a 16 17 18 19 1a 25 26 27 [.$3br........%&']
      669f: 28 29 2a 34 35 36 37 38 39 3a 43 44 45 46 47 48 [()*456789:CDEFGH]
      66af: 49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 68 [IJSTUVWXYZcdefgh]
      66bf: 69 6a 73 74 75 76 77 78 79 7a 83 84 85 86 87 88 [ijstuvwxyz......]
      [snip 67 bytes]
JPEG DHT (29 bytes):
      6716: 01 00 03 01 01 01 01 01 01 01 01 01 00 00 00 00 [................]
      6726: 00 00 01 02 03 04 05 06 07 08 09 0a 0b          [.............]
JPEG DHT (179 bytes):
      6737: 11 00 02 01 02 04 04 03 04 07 05 04 04 00 01 02 [................]
      6747: 77 00 01 02 03 11 04 05 21 31 06 12 41 51 07 61 [w.......!1..AQ.a]
      6757: 71 13 22 32 81 08 14 42 91 a1 b1 c1 09 23 33 52 [q."2...B.....#3R]
      6767: f0 15 62 72 d1 0a 16 24 34 e1 25 f1 17 18 19 1a [..br...$4.%.....]
      6777: 26 27 28 29 2a 35 36 37 38 39 3a 43 44 45 46 47 [&'()*56789:CDEFG]
      6787: 48 49 4a 53 54 55 56 57 58 59 5a 63 64 65 66 67 [HIJSTUVWXYZcdefg]
      6797: 68 69 6a 73 74 75 76 77 78 79 7a 82 83 84 85 86 [hijstuvwxyz.....]
      [snip 67 bytes]

StarGeek

Quote from: VladoBENZ on March 13, 2025, 10:56:19 AMJPEG APP4 (34 bytes):
      65a1: 51 75 61 6c 63 6f 6d 6d 20 43 61 6d 65 72 61 20 [Qualcomm Camera ]
      65b1: 44 65 62 75 67 00 05 00 00 00 30 ec c6 ce 10 00 [Debug.....0.....]
      65c1: 48 cd                                          [H.]

There probably isn't any useful information there.

This part
      65a1: 51 75 61 6c 63 6f 6d 6d 20 43 61 6d 65 72 61 20 [Qualcomm Camera ]
      65b1: 44 65 62 75 67 00  [Debug.

looks like it's the name of the data, e.g. "Qualcomm Camera Debug"

That leaves
05 00 00 00 30 ec c6 ce 10 00
Which I would guess would be split into
05
and
30 ec c6 ce 10
as the 00 values are nulls which are normally used to indicate the end of a string, as shown at the end of "Debug"

I have doubts that any "Debug" data would be of any use in regard to the actual image. It's probably some code in the camera's firmware that someone was too lazy to remove after the code was created.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

VladoBENZ

Yes, I think the same way...but regardless, for example, if it was you, how would you add the app4 string (qualcomm blah blah) to the copied file, without ruining it? Through hex editor, because exiftool cannot do it?

StarGeek

You would have to read up on the JPEG file specification and write some code that would parse the JPEG correctly, read that block and then copy it correctly to the new file.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype

VladoBENZ

ok, understood. it is obviously not that simple. my last question is, is there any command in exiftool, which would show if the file has this minor warning or not? because if i write exiftool -u filename, it would show me all the tags, and it is long long to scroll back for each file. is there any chance to write a command for all files in a directoory, and it would show me which file has this warning and which one doesnt?

StarGeek

To show only that warning? Not really. You can use this command to view nearly all warnings
exiftool -a -warning -error -validate /path/to/files/

But IIRC, there are some warnings that might not pop up unless an actual edit/copy command is used.
"It didn't work" isn't helpful. What was the exact command used and the output.
Read FAQ #3 and use that cmd
Please use the Code button for exiftool output

Please include your OS/Exiftool version/filetype