[FFmpeg-devel] [PATCH] Add 1bpp, 8bpp, 15bpp, and 16bpp support to BMP encoder

Daniel Verkamp daniel
Tue Mar 10 18:17:08 CET 2009


On Thu, Feb 26, 2009 at 2:57 PM, Daniel Verkamp <daniel at drv.nu> wrote:
> On Thu, Feb 19, 2009 at 5:30 PM, Daniel Verkamp <daniel at drv.nu> wrote:
>> On Wed, Feb 18, 2009 at 10:01 AM, Daniel Verkamp <daniel at drv.nu> wrote:
>>> On Wed, Feb 18, 2009 at 3:32 AM, Benoit Fouet <benoit.fouet at free.fr> wrote:
>>>> Hi,
>>>>
>>>> On 02/18/2009 12:24 AM, Daniel Verkamp wrote:
>>>>> On Tue, Feb 17, 2009 at 4:24 PM, Daniel Verkamp <daniel at drv.nu> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> $subject
>>>>>>
>>>>>> Thanks,
>>>>>> -- Daniel Verkamp
>>>>>>
>>>>>
>>>>> New patch - removed trailing whitespace.
>>>>
>>>>> From 33558a7b67052bbe7008562abde5c445f7761149 Mon Sep 17 00:00:00 2001
>>>>> From: Daniel Verkamp <daniel at drv.nu>
>>>>> Date: Tue, 17 Feb 2009 16:21:58 -0600
>>>>> Subject: [PATCH] Add 1bpp, 8bpp, 15bpp, and 16bpp support to BMP encoder
>>>>>
>>>>> ---
>>>>> ?libavcodec/bmpenc.c | ? 74
>>>> ++++++++++++++++++++++++++++++++++++++++++--------
>>>>> ?1 files changed, 62 insertions(+), 12 deletions(-)
>>>>>
>>>>> diff --git a/libavcodec/bmpenc.c b/libavcodec/bmpenc.c
>>>>> index a54355c..6431b02 100644
>>>>> --- a/libavcodec/bmpenc.c
>>>>> +++ b/libavcodec/bmpenc.c
>>>>> @@ -23,6 +24,9 @@
>>>>> ?#include "bytestream.h"
>>>>> ?#include "bmp.h"
>>>>>
>>>>> +static const uint32_t monoblack_pal[] = { 0x000000, 0xFFFFFF };
>>>>> +static const uint32_t rgb565_masks[] ?= { 0xF800, 0x07E0, 0x001F };
>>>>> +
>>>>> ?static av_cold int bmp_encode_init(AVCodecContext *avctx){
>>>>> ? ? ?BMPContext *s = avctx->priv_data;
>>>>>
>>>>> @@ -36,20 +40,53 @@ static int bmp_encode_frame(AVCodecContext *avctx,
>>>> unsigned char *buf, int buf_s
>>>>> ? ? ?BMPContext *s = avctx->priv_data;
>>>>> ? ? ?AVFrame *pict = data;
>>>>> ? ? ?AVFrame * const p= (AVFrame*)&s->picture;
>>>>> - ? ?int n_bytes_image, n_bytes_per_row, n_bytes, i, n, hsize;
>>>>> + ? ?int n_bytes_image, n_bytes_per_row, n_bytes, i, j, hsize;
>>>>
>>>> the cosmetic part (renaming n => j) should not be part of that patch
>>>>
>>>
>>> Well, it's not really a rename, as the original n was used for
>>> something else, but I can use n instead of j if desired.
>>>
>>
>> Same patch except using n instead of j attached.
>>
>> Thanks,
>> -- Daniel Verkamp
>>
>
> Ping?
>

Ping #2...

This looks pretty trivial to me, but if it's not, please let me know
how I can fix it...  I've tested it on a BE MIPS virtual machine
(qemu), and the byte swapping for the 16-bit pixfmts is necessary.

Thanks,
-- Daniel Verkamp




More information about the ffmpeg-devel mailing list