[FFmpeg-devel] [PATCH] libavformat/riffenc: support raw avi for raw PAL8 or Gray8 pixel data

Michael Niedermayer michael at niedermayer.cc
Mon Aug 16 22:00:30 EEST 2021


On Mon, Aug 16, 2021 at 05:01:14PM +0800, rui.jiang wrote:
> add palette data in avi header when the input data is raw PAL8 or Gray8 pixel data and the output data is 8bit raw avi video;
> 
> Signed-off-by: rui.jiang <229135609 at qq.com>
> ---
>  libavformat/riffenc.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/riffenc.c b/libavformat/riffenc.c
> index 43c8bf957a..bc654b3cd3 100644
> --- a/libavformat/riffenc.c
> +++ b/libavformat/riffenc.c
> @@ -228,7 +228,8 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecParameters *par,
>      pal_avi = !for_asf &&
>                (pix_fmt == AV_PIX_FMT_PAL8 ||
>                 pix_fmt == AV_PIX_FMT_MONOWHITE ||
> -               pix_fmt == AV_PIX_FMT_MONOBLACK);
> +               pix_fmt == AV_PIX_FMT_MONOBLACK ||
> +               pix_fmt == AV_PIX_FMT_GRAY8);
>  
>      /* Size (not including the size of the color table or color masks) */
>      avio_wl32(pb, 40 + (ignore_extradata || pal_avi ? 0 : extradata_size));
> @@ -263,6 +264,13 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecParameters *par,
>                      avio_wl32(pb, 0xffffff);
>                  else if (i == 1 && pix_fmt == AV_PIX_FMT_MONOBLACK)
>                      avio_wl32(pb, 0xffffff);
> +                else if (pix_fmt == AV_PIX_FMT_PAL8 || pix_fmt == AV_PIX_FMT_GRAY8) {
> +                    /* Initialize palette */
> +                    avio_w8(pb,i);
> +                    avio_w8(pb,i);
> +                    avio_w8(pb,i);
> +                    avio_w8(pb,0);

I dont think this will always match the palette
also this is going to break fate i would assume


[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20210816/d10f2b22/attachment.sig>


More information about the ffmpeg-devel mailing list