
Eu tenho algumas fotos antigas codificadas em BPG. Como PNG foi usado como formato de entrada, eles obtiveram um canal alfa (vazio), portanto não podem ser decodificados pela libbpg mais recente:
versão 0.9.4:
- Codificação de plano alfa modificada para permitir exibição progressiva e codificação de streaming. Esta alteração é incompatível, portanto imagens contendo alfa de versões anteriores do formato não podem ser decodificadas.
Não preciso deste canal alfa. Como faço para convertê-los sem perdas para o novo formato BPG?
Responder1
Use minha ferramenta para remover o canal alfa deles:https://gist.github.com/vi/9297cd5bf80f0b34e8a2
Ele remove o canal alfa de arquivos BPG antigos, tornando-os decodificáveis por decodificadores BPG mais recentes.
$ bpgdec -i test.bpg
size=1606x1263 color_space=YCbCr alpha=1 premul=0 format=4:2:0 limited_range=0 bit_depth=8 animation=0
$ bpgdec test.bpg
Could not decode image
$ bpg93_remove_alpha.pl < test.bpg > test.noa.bpg
magic: 425047FB
PixelFormat: 1 alpha: 1 bitdepth: 8
ColorSpace: 0 ExtPresent: 0 Alpha2: 0 LimitedRange: 0 ReservedZero: 0
Width: 1606 Height: 1263
Picture data length: 81969
Alpha data length: 239
$ bpgdec -i test.noa.bpg
size=1606x1263 color_space=YCbCr format=4:2:0 limited_range=0 bit_depth=8 animation=0
$ bpgdec test.noa.bpg
$