[FFmpeg-devel] [PATCH] lavc/rawdec: Use 16-byte line alignment for 1, 2, 4 and 8 bpp

Michael Niedermayer michael at niedermayer.cc
Mon Jan 25 11:11:17 CET 2016

On Mon, Jan 25, 2016 at 03:42:44AM +0000, Mats Peterson wrote:
> Alright Michael, I'm currently rather ambivalent regarding whether 1 bpp in AVI should be just black & white or any color. But the term "monochrome" has to mean black & white after all. Windows Paint forces black & white when saving a 1 bpp BMP file, for example. So does several Mac programs when saving 1-bit files, but the QuickTime File Format Specification explicitly says that 1-bit mode is palettized, and mentions nothing about its being "monochrome" or black & white.
> So, here's a patch that doesn't touch the AVI part, but fixes the line alignment of 1 bpp for QuickTime, and 2, 4 and 8 bpp for AVI and QuickTime. It also caters for the packet row stride at the same time. These two issues together are rather atomic by nature, and not easily split, as you can probably understand.
> 1 bpp AVI, when using monow, will still be "incorrectly" aligned on 4-byte boundaries when using odd-width files, but that's another matter. I don't want to touch the default 4-byte alignment, since I'm not entirely sure of how it will affect other depths.
> Should it later on be desirable to use pal8 for AVI as well, it's just a matter of changing one line in raw.c. But then FATE will fail, unless the pal8 to yuv420p conversion discrepancies are fixed. As I wrote to you by e-mail, it currently produces different output from using monow as the source.
> Mats
>  -- 
> Mats Peterson
> http://matsp888.no-ip.org/~mats/

>  rawdec.c |   92 +++++++++++++++++++++++++++++++++++++++++----------------------
>  1 file changed, 61 insertions(+), 31 deletions(-)
> 2787ced9908b56c3db03b112e158b1ce4bcd437e  0001-lavc-rawdec-Use-16-byte-line-alignment-for-1-2-4-and.patch
> From 83d773382c1c1e42964542a782f14ffe64ba8859 Mon Sep 17 00:00:00 2001
> From: Mats Peterson <matsp888 at yahoo.com>
> Date: Mon, 25 Jan 2016 03:59:49 +0100
> Subject: [PATCH] lavc/rawdec: Use 16-byte line alignment for 1, 2, 4 and 8 bpp
> This patch aligns the lines of 1 bpp depth for QuickTime, and 2, 4 and 8
> bpp depths for AVI and QuickTime, on 16-byte boundaries. At the same
> time, the packet row stride is properly catered for.




Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The greatest way to live with honor in this world is to be what we pretend
to be. -- Socrates
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20160125/3fc9cdad/attachment.sig>

More information about the ffmpeg-devel mailing list