X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Friffenc.c;h=7b4b7ddffe94f4a57893c24f67ef8934ec9867cb;hb=5049b6a1fe52f549bad6721f162b4ec2d9d0a357;hp=bcfe018f74e86fa87298f13b506b45f9a4b0c512;hpb=4cbf3eb9e6a88426da255a00305b5858070d192a;p=ffmpeg diff --git a/libavformat/riffenc.c b/libavformat/riffenc.c index bcfe018f74e..7b4b7ddffe9 100644 --- a/libavformat/riffenc.c +++ b/libavformat/riffenc.c @@ -201,10 +201,10 @@ int ff_put_wav_header(AVIOContext *pb, AVCodecContext *enc) /* BITMAPINFOHEADER header */ void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, - const AVCodecTag *tags, int for_asf) + const AVCodecTag *tags, int for_asf, int ignore_extradata) { /* size */ - avio_wl32(pb, 40 + enc->extradata_size); + avio_wl32(pb, 40 + (ignore_extradata ? 0 : enc->extradata_size)); avio_wl32(pb, enc->width); //We always store RGB TopDown avio_wl32(pb, enc->codec_tag ? enc->height : -enc->height); @@ -220,10 +220,12 @@ void ff_put_bmp_header(AVIOContext *pb, AVCodecContext *enc, avio_wl32(pb, 0); avio_wl32(pb, 0); - avio_write(pb, enc->extradata, enc->extradata_size); + if (!ignore_extradata) { + avio_write(pb, enc->extradata, enc->extradata_size); - if (!for_asf && enc->extradata_size & 1) - avio_w8(pb, 0); + if (!for_asf && enc->extradata_size & 1) + avio_w8(pb, 0); + } } void ff_parse_specific_params(AVCodecContext *stream, int *au_rate,