Compartilhar via


Codificação (Componente de Imagem do Windows)

O autor do codificador deve fazer o seguinte:

  • Implemente interfaces IWICBitmapEncoder e IWICBitmapFrameEncode .
  • Implemente IWICMetadataBlockWriter no codificador de quadros. Se o codec der suporte a metadados no nível do contêiner, essa interface deverá ser implementada no codificador no nível do contêiner, bem como no codificador de quadros.
  • Se o formato de contêiner contiver implicitamente blocos de metadados obrigatórios, instancie um gravador de metadados para cada bloco desse tipo. Por exemplo, o formato TIFF requer um IFD (dispositivo de interface) para cada quadro, portanto, o gravador IFD sempre deve ser exposto.
  • Implemente o suporte para gerenciar a coleção de gravadores de metadados. O gravador de blocos gerencia quaisquer requisitos de pedido ou restrições de contêiner nos tipos de blocos de metadados que podem ser codificados. O gravador de blocos deve verificar se quaisquer novos gravadores de metadados podem ser inseridos no formato de contêiner.
  • Ao codificar o fluxo de imagem, chame WICSerializeMetadataContent para serializar o conteúdo de cada gravador de metadados no fluxo. Se o bloco de metadados contiver metadados "críticos", o codificador deverá definir os itens de metadados críticos antes de pedir ao gravador de metadados para serializar o conteúdo.
  • Verifique se há manipuladores de metadados desconhecidos para garantir que os blocos de metadados redundantes não estejam presentes. Isso é importante porque, ao preservar metadados em um cenário de decodificação ou codificação, blocos desconhecidos podem ser uma duplicata de blocos de metadados obrigatórios.

Conceitual

Visão geral do componente de imagem do Windows

Diretrizes wic para formatos de imagem RAW da câmera

Como escrever uma WIC-Enabled CODEC