[FFmpeg-devel] [PATCH] avcodec/ffv1dec: fix some unsupported pix_fmt
    Jerome Martinez 
    jerome at mediaarea.net
       
    Mon Jun 13 21:57:03 CEST 2016
    
    
  
Le 13/06/2016 à 19:31, Jerome Martinez a écrit :
> [...]
> - JPEG 2000 RCT 9/10/12/14 bit depths with alpha are mapped to a 
> FFmpeg pix_fmt without alpha (e.g. AV_PIX_FMT_GBRP9 for 9-bit with 
> alpha), which is not expected.
Sorry, I forgot a remark about this part of the patch: the decoder can 
decode the bitstream, the issue is that the alpha content is trashed:
             if (lbd)
                 *((uint32_t*)(src[0] + x*4 + stride[0]*y)) = b + (g<<8) 
+ (r<<16) + (a<<24);
             else {
                 *((uint16_t*)(src[0] + x*2 + stride[0]*y)) = b;
                 *((uint16_t*)(src[1] + x*2 + stride[1]*y)) = g;
                 *((uint16_t*)(src[2] + x*2 + stride[2]*y)) = r;
             }
(lbd is 1 if s->avctx->bits_per_raw_sample <= 8, "a" is used in that case)
In my patch, I chose to forbid the decoding in order to not let the user 
think that the decoding is lossless, but another possibility is to add a 
warning.
    
    
More information about the ffmpeg-devel
mailing list