10-bit HEIC are not displayed properly on OxygenOS 16 #8152

Open
opened 2026-02-05 13:33:50 +03:00 by OVERLORD · 8 comments
Owner

Originally created by @Egglestron on GitHub (Dec 29, 2025).

I have searched the existing issues, both open and closed, to make sure this is not a duplicate report.

  • Yes

The bug

HEIF photos (10-bit HEIF "ProXDR" files) shot on OnePlus 12 look polarized on the Android mobile app, almost certainly since the release of Android 16 (OxygenOS 16).

The issue is not present when viewing regular JPEG files, or 8-bit HEIC files.

Attached is a screenshot of the output.

The OS that Immich Server is running on

QNAP QTS 5.2.6

Version of Immich Server

v2.4.1

Version of Immich Mobile App

v2.4.1 build.3030

Platform with the issue

  • Server
  • Web
  • Mobile

Device make and model

OnePlus 12 - CPH2581_16.0.1.300 (OxygenOS 16)

Your docker-compose.yml content

#
# WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose
#
# Make sure to use the docker-compose.yml of the current release:
#
# https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
#
# The compose file on main may not be compatible with the latest release.

name: immich

services:
  immich-server:
    container_name: immich_server
    image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
    # extends:
    #   file: hwaccel.transcoding.yml
    #   service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
    volumes:
      - ${UPLOAD_LOCATION}:/usr/src/app/upload
      - ${THUMB_LOCATION}:/usr/src/app/upload/thumbs
      - ${ENCODED_VIDEO_LOCATION}:/usr/src/app/upload/encoded-video
      - ${PROFILE_LOCATION}:/usr/src/app/upload/profile
      - /etc/localtime:/etc/localtime:ro
      - /share/CACHEDEV3_DATA/xxx/Pictures/Export:/mnt/media/Pictures/Export
      - /share/CACHEDEV3_DATA/yyy/Pictures:/mnt/media/yyy/Pictures
    env_file:
      - stack.env
    ports:
      - '2283:2283'
    depends_on:
      - redis
      - database
    restart: always
    healthcheck:
      disable: false
    networks:
      - bridge3_debug
  immich-machine-learning:
    container_name: immich_machine_learning
    # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag.
    # Example tag: ${IMMICH_VERSION:-release}-cuda
    image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release}
    # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration
    #   file: hwaccel.ml.yml
    #   service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable
    volumes:
      - model-cache:/cache
    env_file:
      - stack.env
    restart: always
    healthcheck:
      disable: false
    networks:
      - bridge3_debug
  redis:
    container_name: immich_redis
    image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa
    healthcheck:
      test: redis-cli ping || exit 1
    restart: always
    networks:
      - bridge3_debug
  database:
    container_name: immich_postgres
    image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23
    env_file:
      - stack.env
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD}
      POSTGRES_USER: ${DB_USERNAME}
      POSTGRES_DB: ${DB_DATABASE_NAME}
      POSTGRES_INITDB_ARGS: '--data-checksums'
      # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs
      # DB_STORAGE_TYPE: 'HDD'
    volumes:
      # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file
      - ${DB_DATA_LOCATION}:/var/lib/postgresql/data
      - ${DB_DUMP_LOCATION}:/db_dumps
    shm_size: 128mb
    restart: always
    networks:
      - bridge3_debug
volumes:
  model-cache:

networks:
  bridge3_debug:
    name: bridge3_debug
    external: true

Your .env content

UPLOAD_LOCATION=/share/CACHEDEV3_DATA/xxx/immich/uploads/
IMMICH_VERSION=release
DB_PASSWORD=**REDACTED**
DB_HOSTNAME=immich_postgres
DB_USERNAME=**REDACTED**
DB_DATABASE_NAME=immich
REDIS_HOSTNAME=immich_redis
DB_DATA_LOCATION=/share/REDACTED/Container/immich-app/postgres/data
THUMB_LOCATION=/share/REDACTED/Container/immich-app/library/thumbs
ENCODED_VIDEO_LOCATION=/share/REDACTED/Container/immich-app/library/encoded-video
PROFILE_LOCATION=/share/REDACTED/Container/immich-app/library/profile
DB_DUMP_LOCATION=/share/REDACTED/xxx/immich/db_dumps/

Reproduction steps

  1. Open the Immich Android app
  2. Open a 10-bit HEIF photo
  3. Wait for the full-size image to load

Relevant log output


Additional information

Image

Originally created by @Egglestron on GitHub (Dec 29, 2025). ### I have searched the existing issues, both open and closed, to make sure this is not a duplicate report. - [x] Yes ### The bug HEIF photos (10-bit HEIF "ProXDR" files) shot on OnePlus 12 look polarized on the Android mobile app, almost certainly since the release of Android 16 (OxygenOS 16). The issue is not present when viewing regular JPEG files, or 8-bit HEIC files. Attached is a screenshot of the output. ### The OS that Immich Server is running on QNAP QTS 5.2.6 ### Version of Immich Server v2.4.1 ### Version of Immich Mobile App v2.4.1 build.3030 ### Platform with the issue - [ ] Server - [ ] Web - [x] Mobile ### Device make and model OnePlus 12 - CPH2581_16.0.1.300 (OxygenOS 16) ### Your docker-compose.yml content ```YAML # # WARNING: To install Immich, follow our guide: https://docs.immich.app/install/docker-compose # # Make sure to use the docker-compose.yml of the current release: # # https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml # # The compose file on main may not be compatible with the latest release. name: immich services: immich-server: container_name: immich_server image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release} # extends: # file: hwaccel.transcoding.yml # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding volumes: - ${UPLOAD_LOCATION}:/usr/src/app/upload - ${THUMB_LOCATION}:/usr/src/app/upload/thumbs - ${ENCODED_VIDEO_LOCATION}:/usr/src/app/upload/encoded-video - ${PROFILE_LOCATION}:/usr/src/app/upload/profile - /etc/localtime:/etc/localtime:ro - /share/CACHEDEV3_DATA/xxx/Pictures/Export:/mnt/media/Pictures/Export - /share/CACHEDEV3_DATA/yyy/Pictures:/mnt/media/yyy/Pictures env_file: - stack.env ports: - '2283:2283' depends_on: - redis - database restart: always healthcheck: disable: false networks: - bridge3_debug immich-machine-learning: container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, rocm, openvino, rknn] to the image tag. # Example tag: ${IMMICH_VERSION:-release}-cuda image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} # extends: # uncomment this section for hardware acceleration - see https://docs.immich.app/features/ml-hardware-acceleration # file: hwaccel.ml.yml # service: cpu # set to one of [armnn, cuda, rocm, openvino, openvino-wsl, rknn] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - model-cache:/cache env_file: - stack.env restart: always healthcheck: disable: false networks: - bridge3_debug redis: container_name: immich_redis image: docker.io/valkey/valkey:8@sha256:81db6d39e1bba3b3ff32bd3a1b19a6d69690f94a3954ec131277b9a26b95b3aa healthcheck: test: redis-cli ping || exit 1 restart: always networks: - bridge3_debug database: container_name: immich_postgres image: ghcr.io/immich-app/postgres:14-vectorchord0.4.3-pgvectors0.2.0@sha256:bcf63357191b76a916ae5eb93464d65c07511da41e3bf7a8416db519b40b1c23 env_file: - stack.env environment: POSTGRES_PASSWORD: ${DB_PASSWORD} POSTGRES_USER: ${DB_USERNAME} POSTGRES_DB: ${DB_DATABASE_NAME} POSTGRES_INITDB_ARGS: '--data-checksums' # Uncomment the DB_STORAGE_TYPE: 'HDD' var if your database isn't stored on SSDs # DB_STORAGE_TYPE: 'HDD' volumes: # Do not edit the next line. If you want to change the database storage location on your system, edit the value of DB_DATA_LOCATION in the .env file - ${DB_DATA_LOCATION}:/var/lib/postgresql/data - ${DB_DUMP_LOCATION}:/db_dumps shm_size: 128mb restart: always networks: - bridge3_debug volumes: model-cache: networks: bridge3_debug: name: bridge3_debug external: true ``` ### Your .env content ```Shell UPLOAD_LOCATION=/share/CACHEDEV3_DATA/xxx/immich/uploads/ IMMICH_VERSION=release DB_PASSWORD=**REDACTED** DB_HOSTNAME=immich_postgres DB_USERNAME=**REDACTED** DB_DATABASE_NAME=immich REDIS_HOSTNAME=immich_redis DB_DATA_LOCATION=/share/REDACTED/Container/immich-app/postgres/data THUMB_LOCATION=/share/REDACTED/Container/immich-app/library/thumbs ENCODED_VIDEO_LOCATION=/share/REDACTED/Container/immich-app/library/encoded-video PROFILE_LOCATION=/share/REDACTED/Container/immich-app/library/profile DB_DUMP_LOCATION=/share/REDACTED/xxx/immich/db_dumps/ ``` ### Reproduction steps 1. Open the Immich Android app 2. Open a 10-bit HEIF photo 3. Wait for the full-size image to load ### Relevant log output ```shell ``` ### Additional information ![Image](https://github.com/user-attachments/assets/0d3f32eb-6182-4785-8cdc-6868b169fdf4)
Author
Owner

@kevinViers commented on GitHub (Jan 2, 2026):

+1 same issue on my 1+ open running OOS 16.0.1 also using HEIC 10 bit images in photos app.

<img width="1116" height="2484" alt="Image" src="https://github.com/user-attachments/assets/0bbc56b6-8ba0-4701-a663-e4a7f1e408f0" /

Does not happen with photos with the same (I think) settings on my oneplus 15. the 15 is on camera app 6.105.62 and the open is on 6.020.490. Open still rainbows in immich android app on both phones, images from the 15 do not have this issue.

@kevinViers commented on GitHub (Jan 2, 2026): +1 same issue on my 1+ open running OOS 16.0.1 also using HEIC 10 bit images in photos app. <img width="1116" height="2484" alt="Image" src="https://github.com/user-attachments/assets/0bbc56b6-8ba0-4701-a663-e4a7f1e408f0" / Does not happen with photos with the same (I think) settings on my oneplus 15. the 15 is on camera app 6.105.62 and the open is on 6.020.490. Open still rainbows in immich android app on both phones, images from the 15 do not have this issue.
Author
Owner

@sapstar commented on GitHub (Jan 4, 2026):

+1. Same issue for me on my OnePlus12 with latest updates. I tried deleting all local data and setting up the app again, but still no luck.

@sapstar commented on GitHub (Jan 4, 2026): +1. Same issue for me on my OnePlus12 with latest updates. I tried deleting all local data and setting up the app again, but still no luck.
Author
Owner

@Chuyi1054b commented on GitHub (Jan 5, 2026):

+1. Same issue for me on my OnePlus Ace 3 with latest updates.

@Chuyi1054b commented on GitHub (Jan 5, 2026): +1. Same issue for me on my OnePlus Ace 3 with latest updates.
Author
Owner

@Somapolice commented on GitHub (Jan 18, 2026):

Same issue, same phone and Android version. Following.

@Somapolice commented on GitHub (Jan 18, 2026): Same issue, same phone and Android version. Following.
Author
Owner

@chinzi14 commented on GitHub (Jan 23, 2026):

+1 same issues with One Plus 12 and latest OxygenOS

@chinzi14 commented on GitHub (Jan 23, 2026): +1 same issues with One Plus 12 and latest OxygenOS
Author
Owner

@mertalev commented on GitHub (Jan 24, 2026):

This seems like a pixel format conversion issue. We target 8-bit rendering and probably don't handle higher precision formats correctly. The fix would be to either fix the conversion or target higher precision rendering (which Flutter only recently started supporting).

@mertalev commented on GitHub (Jan 24, 2026): This seems like a pixel format conversion issue. We target 8-bit rendering and probably don't handle higher precision formats correctly. The fix would be to either fix the conversion or target higher precision rendering (which Flutter only recently started supporting).
Author
Owner

@mertalev commented on GitHub (Jan 26, 2026):

Would anyone be able to share a zipped image that has the issue?

@mertalev commented on GitHub (Jan 26, 2026): Would anyone be able to share a zipped image that has the issue?
Author
Owner

@kevinViers commented on GitHub (Jan 26, 2026):

IMG20260114133522.zip

@kevinViers commented on GitHub (Jan 26, 2026): [IMG20260114133522.zip](https://github.com/user-attachments/files/24857924/IMG20260114133522.zip)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: immich-app/immich#8152