Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

image: Exif "Model" tags should store camera model, not ID #451

Merged
merged 1 commit into from
Feb 3, 2023

Conversation

njhollinghurst
Copy link
Collaborator

@njhollinghurst njhollinghurst commented Jan 31, 2023

It seems to be more in the spirit of the Exif and DNG specs to record the camera's "model" string, rather than its ID (which is neither a model nor a unique serial number), and to prefix a "Make" onto UniqueCameraModel.

The Make ("Raspberry Pi") is now a #define so that it can be overridden by Makefiles, but I'm happy to rework this.

Before:

Make                            : Raspberry Pi
Camera Model Name               : /base/soc/i2c0mux/i2c@1/imx708@1a
Unique Camera Model             : /base/soc/i2c0mux/i2c@1/imx708@1a

After:

Make                            : Raspberry Pi
Camera Model Name               : imx708_wide
Unique Camera Model             : Raspberry Pi imx708_wide

Here are some possible reasons why we might not want this change:

  • It changes behaviour that users may already be relying on
  • In a multi-camera setup (e.g. CM4), the camera's ID is no longer recorded
  • It might change again if we change the way we handle variants (cameras with the same sensor)
  • It misleadingly suggests that Raspberry Pi is the manufacturer of the named sensors, rather than OmniVision or Sony
  • Libcamera's "Model" property "is not guaranteed to be stable or have any other properties required to make it a good candidate to be used as a permanent identifier of a camera."

Add CameraModel() method to LibcameraApp; use it in place of CameraId()
to pass Model in JPEG and DNG writers. Prefix UniqueCameraModel with
the manufacturer's name ("Raspberry Pi ") as per DNG specification.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
@naushir naushir merged commit 6d2ee58 into main Feb 3, 2023
@naushir naushir deleted the save_model branch February 8, 2023 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants