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

Fix reading gray/color ICC profile from color/gray image in apps #2675

Merged
merged 3 commits into from
Mar 7, 2025

Conversation

vrabaud
Copy link
Collaborator

@vrabaud vrabaud commented Mar 7, 2025

This is a follow-up to #2673 (comment)

@vrabaud vrabaud force-pushed the icc_gray branch 8 times, most recently from a66e0c7 to b255a4e Compare March 7, 2025 14:43
@vrabaud vrabaud marked this pull request as ready for review March 7, 2025 14:44
@vrabaud vrabaud requested a review from y-guyon March 7, 2025 14:45
if (isGray && requestedFormat != AVIF_PIXEL_FORMAT_YUV400) {
fprintf(stderr,
"The image contains a gray ICC profile which is incompatible with the requested output "
"format YUV (color). Pass --ignore-icc to discard the ICC profile.\n");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when using a grayscale input image, what's the default behavior? if we convert to color by default, then we may want to suggest adding --yuv 400 as an alternative to discarding the icc profile.
if we use 400 by default then this message is fine I think.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By default, in avifenc, we keep the format for JPEG and PNG:

printf(" For JPEG, auto honors the JPEG's internal format, if possible. For grayscale PNG, auto defaults to 400. For all other cases, auto defaults to 444\n");

@vrabaud vrabaud merged commit 1cb71c0 into AOMediaCodec:main Mar 7, 2025
19 checks passed
@vrabaud vrabaud deleted the icc_gray branch March 7, 2025 15:33
jzern added a commit to jzern/libavif that referenced this pull request Mar 8, 2025
* main: (53 commits)
  Fix reading gray/color ICC profile from color/gray image in apps (AOMediaCodec#2675)
  Revert "Use SVT_LOG=0 in avifsvttest for SVT-AV1 3.0.0 (AOMediaCodec#2668)" (AOMediaCodec#2674)
  Fix monochrome ICC profile error message in apps (AOMediaCodec#2673)
  Add missing changelog for `avifdec --index all` (AOMediaCodec#2672)
  Specify target platform version in binary artifacts (AOMediaCodec#2652)
  avidec: output all frames of animations when passed `--index all` (AOMediaCodec#2670)
  Do not allow keeping the ICC when converting from RGB to gray (AOMediaCodec#2669)
  Update CHANGELOG (AOMediaCodec#2666)
  Use SVT_LOG=0 in avifsvttest for SVT-AV1 3.0.0 (AOMediaCodec#2668)
  read.c: fix empty struct initializers (AOMediaCodec#2661)
  avifutil.c: fix avifQueryCPUCount() empty param list (AOMediaCodec#2662)
  Add libyuv dependency to the README.md (AOMediaCodec#2664)
  fix: patch libyuv CMakeLists for compatibility with gcc 10 (AOMediaCodec#2660)
  Use default for tensorflow with libavm (AOMediaCodec#2624)
  Bump some Rust dependencies (AOMediaCodec#2658)
  Use C99 syntax to initialize avifFileType struct (AOMediaCodec#2657)
  Bump the github-actions group with 3 updates
  libargparse: use a git patch file instead of sed command (AOMediaCodec#2654)
  y4m: Remove some repeated code
  Remove fully static instructions (AOMediaCodec#2649)
  ...
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.

3 participants