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.
Tópicos relacionados
-
Conceitual