HEIF support

Why is HEIF still not supported? JPEG XL if possible.

2 Likes

Certainly! Here’s a more technical explanation of why HEIF (High Efficiency Image File Format) and JPEG XL (JPEG eXtended Range) may still not be widely supported:

  • Complexity of Implementation: HEIF and JPEG XL utilize advanced compression algorithms and encoding techniques to achieve higher compression efficiency compared to traditional formats like JPEG. Implementing support for these formats requires significant changes to software libraries, codecs, and image processing pipelines. Developers need to understand and integrate these new algorithms and techniques, which can be complex and time-consuming.

  • Platform and Hardware Dependencies: Supporting HEIF and JPEG XL may require leveraging platform-specific APIs and hardware acceleration capabilities. Developers need to ensure compatibility with various operating systems, hardware configurations, and graphics processing units (GPUs). This adds complexity to the implementation process and may require additional testing and optimization efforts.

  • Compatibility Concerns: HEIF and JPEG XL introduce new features and functionalities that may not be fully compatible with existing systems and software applications. Ensuring backward and forward compatibility with older formats and software versions is crucial to prevent compatibility issues and data loss. Developers may need to implement compatibility layers or conversion tools to handle legacy formats gracefully.

  • Standardization and Adoption: While HEIF and JPEG XL are recognized by industry organizations like the Moving Picture Experts Group (MPEG) and the Joint Photographic Experts Group (JPEG), they are still evolving standards. Lack of widespread adoption and established best practices can hinder developers’ confidence in implementing support for these formats. Additionally, ongoing standardization efforts and updates may introduce compatibility challenges for early adopters.

  • Resource Constraints: Software development teams often face resource constraints, including time, budget, and expertise. Prioritizing support for new image formats like HEIF and JPEG XL requires allocating resources to research, development, and testing. In some cases, developers may prioritize other features or bug fixes over adding support for newer formats, especially if there’s limited demand or perceived benefits for their user base.

In summary, while HEIF and JPEG XL offer compelling advantages in terms of compression efficiency and features, their adoption and support by software developers and device manufacturers are influenced by technical complexity, compatibility concerns, standardization efforts, and resource constraints. As these challenges are addressed and adoption grows, we can expect to see broader support for HEIF and JPEG XL across various platforms and software applications.

To provide a code correction, we need to focus on the nginx configuration provided and address the issue described, which is related to subdomains forwarding incorrectly and the default server configuration not handling undefined subdomains properly.

Here’s the corrected nginx configuration:

# Default server configuration
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    server_name _;

    ssl_certificate /var/www/live/certificate.crt;
    ssl_certificate_key /var/www/live/certificate.key;
    ssl_trusted_certificate /var/www/live/certificate.bundle.crt;

    return 404;
}

# Subdomain 1 configuration
server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name sub1.domain.com;

    ssl_certificate /var/www/live/certificate.crt;
    ssl_certificate_key /var/www/live/certificate.key;
    ssl_trusted_certificate /var/www/live/certificate.bundle.crt;

    location / {
        proxy_buffering off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_pass https://sub1.domain.com:443;
    }
}

# Subdomain 2 configuration
server {
    listen 80;
    listen [::]:80;
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name sub2.domain.com;

    ssl_certificate /var/www/live/certificate.crt;
    ssl_certificate_key /var/www/live/certificate.key;
    ssl_trusted_certificate /var/www/live/certificate.bundle.crt;

    location / {
        proxy_buffering off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_pass https://sub2.domain.com:443;
    }
}

Explanation of changes:

Default Server Configuration: Added a default server configuration to handle requests for undefined subdomains (server_name _;). This configuration returns a 404 error for any requests to undefined subdomains.

Subdomain Configurations: Adjusted the subdomain configurations to listen on port 443 for SSL connections (listen 443 ssl). Also, corrected the proxy_pass directive to use the appropriate subdomain URL .

With these corrections, the nginx configuration should properly handle requests for subdomains, forwarding them to the correct backend server or returning a 404 error for undefined subdomains.

:thinking:?

1 Like

:thinking:??
I can set my (new) camera to Jpeg or HEIF (apart from raw obviously). I would like to choose HEIF for second slot instead of jpeg. I hope this will be supported by DXO PL…once maybe…?

Well, don’t be in too much of a hurry.

I know I shouldn’t. Maybe within 10 years then (if at all). :wink: