[FFmpeg-devel] [PATCH 1/6] avformat/gif: simplify gif_image_write_header() prototype

Clément Bœsch u at pkh.me
Mon Feb 9 18:35:09 CET 2015


---
 libavformat/gif.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/libavformat/gif.c b/libavformat/gif.c
index e817121..b4c5e8b 100644
--- a/libavformat/gif.c
+++ b/libavformat/gif.c
@@ -28,13 +28,12 @@
 #include "libavutil/log.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)
 {
-    AVIOContext *pb = s->pb;
-    AVRational sar = s->streams[0]->codec->sample_aspect_ratio;
     int i;
     int64_t aspect = 0;
+    const AVRational sar = avctx->sample_aspect_ratio;
 
     if (sar.num > 0 && sar.den > 0) {
         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, "89a", 3);
-    avio_wl16(pb, width);
-    avio_wl16(pb, height);
+    avio_wl16(pb, avctx->width);
+    avio_wl16(pb, avctx->height);
 
     if (palette) {
         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;
     AVCodecContext *video_enc;
-    int width, height;
     uint32_t palette[AVPALETTE_COUNT];
 
     if (s->nb_streams != 1 ||
@@ -101,15 +99,13 @@ static int gif_write_header(AVFormatContext *s)
     }
 
     video_enc = s->streams[0]->codec;
-    width  = video_enc->width;
-    height = video_enc->height;
 
     avpriv_set_pts_info(s->streams[0], 64, 1, 100);
     if (avpriv_set_systematic_pal2(palette, video_enc->pix_fmt) < 0) {
         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 {
-        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);
-- 
2.3.0



More information about the ffmpeg-devel mailing list