[FFmpeg-devel] [PATCH]Fix alpha for iff deep
    Carl Eugen Hoyos 
    cehoyos at ag.or.at
       
    Thu Mar 15 14:14:41 CET 2012
    
    
  
Michael Niedermayer <michaelni <at> gmx.at> writes:
> >          for(y = 0; y < avctx->height && buf < buf_end; y++ ) {
> >              uint8_t *row = &s->frame.data[0][y * s->frame.linesize[0]];
> >              memcpy(row, buf, FFMIN(raw_width, buf_end - buf));
> >              buf += raw_width;
> > +        for(x = 0; x < avctx->width; x++)
> > +            row[4 * x + 3] = row[4 * x + 3] & 0xF0 | (row[4 * x + 3] >> 4);
> >          }
> 
> This code looks strange, the raw_width line seems to assume that
> BPP can be more than 1 value
> while the new loops seems to assume its 32bpp
DEEP implies BGR32.
Should I add an av_assert0(pix_fmt == BGR32) or should the whole block only be
executed if (pix_fmt == BGR23)?
...
    } else if (avctx->codec_tag == MKTAG('D','E','E','P') &&
               avctx->pix_fmt == PIX_FMT_BGR32) {
...
Carl Eugen
> 
>   [...]
> 
    
    
More information about the ffmpeg-devel
mailing list