[FFmpeg-devel] [FFmpeg-cvslog] ffplay: only use hardware accelerated SDL texture formats

wm4 nfxjfg at googlemail.com
Thu Apr 19 01:22:20 EEST 2018


On Tue, 17 Apr 2018 14:49:48 +0200
Michael Niedermayer <michael at niedermayer.cc> wrote:

> On Tue, Apr 17, 2018 at 01:27:48AM +0200, Marton Balint wrote:
> > 
> > 
> > On Mon, 16 Apr 2018, Michael Niedermayer wrote:
> >   
> > >Hi
> > >
> > >On Sat, Nov 04, 2017 at 06:28:58PM +0000, Marton Balint wrote:  
> > >>ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Sat Oct 28 22:46:08 2017 +0200| [415038f2bd321a3b41564d4e0c6c17d7a096c397] | committer: Marton Balint
> > >>
> > >>ffplay: only use hardware accelerated SDL texture formats  
> > >
> > >This breaks ffplay playing some files like:
> > >./ffplay fate-suite//cvid/catfight-cvid-pal8-partial.mov -noframedrop
> > >
> > >The output is completely black since this commit  
> > 
> > Seems like a bug in swscale (pal8 -> bgra conversion), the alpha is 0
> > instead of 255.  
> 
> the file seems to store alpha = 0
> SDL seems to treat alpha=0 different between PAL8 and RGBA, or maybe iam
> missing something
> 
> try this:
> 
> diff --git a/libavformat/qtpalette.c b/libavformat/qtpalette.c
> index 666c6b7351..51a134d30a 100644
> --- a/libavformat/qtpalette.c
> +++ b/libavformat/qtpalette.c
> @@ -104,6 +104,7 @@ int ff_get_qtpalette(int codec_id, AVIOContext *pb, uint32_t *palette)
>                      avio_r8(pb);
>                      b = avio_r8(pb);
>                      avio_r8(pb);
> +                    a = 0xFF;
>                      palette[i] = (a << 24 ) | (r << 16) | (g << 8) | (b);
>                  }
>              }
>              
> swscale does not introduce the alpha=0 its there before

This is totally not a new problem, a bunch of players will actually
interpret alpha if it's present as indicated by the pixfmt.


More information about the ffmpeg-devel mailing list