Resposta em uma linha
HEIF é o formato de contêiner. HEIC é o nome que se dá a um arquivo HEIF cujos dados de imagem são comprimidos com HEVC. Quase todo arquivo .heic de um iPhone é um arquivo HEIF nesse sentido, então, no uso cotidiano, os dois nomes se referem à mesma coisa.
O que o HEIF especifica
A visão técnica do HEIF, da Nokia, descreve o HEIF como a norma ISO/IEC 23008-12. Ela define como armazenar imagens individuais, sequências de imagens e seus metadados em um arquivo baseado no ISO Base Media File Format (ISO/IEC 14496-12), a mesma família de arquivos estruturados em caixas usada pelo vídeo MP4.
A página traz vários pontos de projeto que vale conhecer:
- Imagens estáticas são armazenadas como itens, e cada item de imagem é codificado de forma independente.
- Sequências de imagens são armazenadas como trilhas, que podem ser usadas quando as imagens dependem umas das outras.
- Um arquivo pode conter muitas imagens, além de propriedades como rotação e recorte, e imagens auxiliares, como um plano de transparência.
- O HEIF é um formato estrutural do qual derivam formatos específicos de codec. Ele inclui previsões para HEVC, VVC, AVC e JPEG.
Ou seja, o contêiner diz como as coisas são organizadas, e o codec diz como os pixels são comprimidos.
Onde o HEIC se encaixa
HEIC é o rótulo da variante HEVC. O README da libheif diz que HEIC e AVIF são formatos de arquivo que empregam codificação de imagem HEVC (H.265) ou AV1, respectivamente. Ele lista, entre os formatos suportados, HEIC, AVIF, VVC, AVC, JPEG dentro de HEIF, JPEG 2000 e dados sem compressão, e cita a libde265 como o decodificador HEIC padrão.
Isso tem uma consequência prática: um arquivo terminado em .heif pode conter um codec diferente de HEVC. A especificação do AVIF é explícita ao dizer que define o armazenamento de imagens AV1 no formato HEIF genérico. Assim, o AVIF também é um arquivo da família HEIF, mas não é decodificado por um decodificador HEVC.
Extensões que você vai encontrar
.heic: a extensão que os iPhones usam para imagens HEVC. A página da Apple sobre mídia HEIF e HEVC chama o formato das fotos de HEIF..heif: a extensão genérica do contêiner, usada por algumas câmeras e ferramentas..avif: a extensão usual para imagens AV1 na mesma família de contêineres. Extensões são apenas rótulos, então o FromHEIC detecta o tipo real pelo conteúdo do arquivo em vez de confiar nelas.
Como um nome pode enganar, a verificação mais segura é olhar por dentro. O verificador de arquivos informa o tipo real, o codec, as dimensões e o número de imagens, e o inspetor de HEIC mostra os brands, o item principal, grades e blocos, miniaturas e perfis de cor.
Por que isso importa quando algo falha
Se um software abre .heic, mas não um .heif de outra origem, a causa mais comum é o codec interno, não o contêiner. A libde265 é uma implementação aberta do decodificador H.265, que é o que um leitor de HEVC em HEIF precisa. Um leitor feito apenas para conteúdo AV1 não vai lidar com isso, e o contrário também vale.
A verificação de integridade foi feita para essa situação. Ela procura extensão errada, contêiner inválido ou codec não suportado, como AV1 ou JPEG dentro de HEIF, e depois tenta uma decodificação real. O visualizador de estrutura HEIF vai um nível abaixo e mostra a árvore de caixas com deslocamentos e tamanhos, o que ajuda a depurar um arquivo danificado.
Qual nome usar
- Ao escrever para usuários, diga HEIC se a foto veio de um iPhone.
- Ao escrever uma nota técnica, diga HEIF para o contêiner e nomeie o codec: “HEIF com HEVC”.
- Ao nomear arquivos para upload, confira o que o destino aceita. Muitos formulários listam apenas JPG ou PNG. Veja preparar fotos para formulários.
Para entender por que o formato existe e onde é suportado, comece por o que é HEIC. Se você está escolhendo um formato para a web, HEIC vs WebP e AVIF cobre o lado do AVIF.