avformat/gif: simplify gif_image_write_header() prototype

pull/110/merge
Clément Bœsch 10 years ago
parent 088dfd3ff1
commit adb9b235b6
  1. 16
      libavformat/gif.c

@ -28,13 +28,12 @@
#include "libavutil/log.h" #include "libavutil/log.h"
#include "libavutil/opt.h" #include "libavutil/opt.h"
static int gif_image_write_header(AVFormatContext *s, int width, int height, static int gif_image_write_header(AVIOContext *pb, const AVCodecContext *avctx,
int loop_count, uint32_t *palette) int loop_count, uint32_t *palette)
{ {
AVIOContext *pb = s->pb;
AVRational sar = s->streams[0]->codec->sample_aspect_ratio;
int i; int i;
int64_t aspect = 0; int64_t aspect = 0;
const AVRational sar = avctx->sample_aspect_ratio;
if (sar.num > 0 && sar.den > 0) { if (sar.num > 0 && sar.den > 0) {
aspect = sar.num * 64LL / sar.den - 15; aspect = sar.num * 64LL / sar.den - 15;
@ -44,8 +43,8 @@ static int gif_image_write_header(AVFormatContext *s, int width, int height,
avio_write(pb, "GIF", 3); avio_write(pb, "GIF", 3);
avio_write(pb, "89a", 3); avio_write(pb, "89a", 3);
avio_wl16(pb, width); avio_wl16(pb, avctx->width);
avio_wl16(pb, height); avio_wl16(pb, avctx->height);
if (palette) { if (palette) {
avio_w8(pb, 0xf7); /* flags: global clut, 256 entries */ avio_w8(pb, 0xf7); /* flags: global clut, 256 entries */
@ -89,7 +88,6 @@ static int gif_write_header(AVFormatContext *s)
{ {
GIFContext *gif = s->priv_data; GIFContext *gif = s->priv_data;
AVCodecContext *video_enc; AVCodecContext *video_enc;
int width, height;
uint32_t palette[AVPALETTE_COUNT]; uint32_t palette[AVPALETTE_COUNT];
if (s->nb_streams != 1 || if (s->nb_streams != 1 ||
@ -101,15 +99,13 @@ static int gif_write_header(AVFormatContext *s)
} }
video_enc = s->streams[0]->codec; video_enc = s->streams[0]->codec;
width = video_enc->width;
height = video_enc->height;
avpriv_set_pts_info(s->streams[0], 64, 1, 100); avpriv_set_pts_info(s->streams[0], 64, 1, 100);
if (avpriv_set_systematic_pal2(palette, video_enc->pix_fmt) < 0) { if (avpriv_set_systematic_pal2(palette, video_enc->pix_fmt) < 0) {
av_assert0(video_enc->pix_fmt == AV_PIX_FMT_PAL8); av_assert0(video_enc->pix_fmt == AV_PIX_FMT_PAL8);
gif_image_write_header(s, width, height, gif->loop, NULL); gif_image_write_header(s->pb, video_enc, gif->loop, NULL);
} else { } else {
gif_image_write_header(s, width, height, gif->loop, palette); gif_image_write_header(s->pb, video_enc, gif->loop, palette);
} }
avio_flush(s->pb); avio_flush(s->pb);

Loading…
Cancel
Save