[Ffmpeg-cvslog] r8629 - trunk/libavcodec/tiffenc.c

michael subversion
Thu Apr 5 02:09:48 CEST 2007


Author: michael
Date: Thu Apr  5 02:09:48 2007
New Revision: 8629

Modified:
   trunk/libavcodec/tiffenc.c

Log:
remove compound literals gcc 2.95 doesnt support taking an address of a compound literal
and the current code was my fault as i suggested the student to use compound literals
beliving gcc 2.95 supports them completely ...


Modified: trunk/libavcodec/tiffenc.c
==============================================================================
--- trunk/libavcodec/tiffenc.c	(original)
+++ trunk/libavcodec/tiffenc.c	Thu Apr  5 02:09:48 2007
@@ -127,6 +127,13 @@ static void add_entry(TiffEncoderContext
     s->num_entries++;
 }
 
+static void add_entry1(TiffEncoderContext * s,
+                       enum TiffTags tag, enum TiffTypes type, int val){
+    uint16_t w = val;
+    uint32_t dw= val;
+    add_entry(s, tag, type, 1, type == TIFF_SHORT ? &w : &dw);
+}
+
 /**
  * Encode one strip in tiff file
  *
@@ -297,25 +304,25 @@ static int encode_frame(AVCodecContext *
 
     s->num_entries = 0;
 
-    add_entry(s, TIFF_SUBFILE,           TIFF_LONG,     1,      (uint32_t[]) {0});
-    add_entry(s, TIFF_WIDTH,             TIFF_LONG,     1,      (uint32_t[]) {s->width});
-    add_entry(s, TIFF_HEIGHT,            TIFF_LONG,     1,      (uint32_t[]) {s->height});
+    add_entry1(s,TIFF_SUBFILE,           TIFF_LONG,             0);
+    add_entry1(s,TIFF_WIDTH,             TIFF_LONG,             s->width);
+    add_entry1(s,TIFF_HEIGHT,            TIFF_LONG,             s->height);
 
     if (s->bpp_tab_size)
     add_entry(s, TIFF_BPP,               TIFF_SHORT,    s->bpp_tab_size, bpp_tab);
 
-    add_entry(s, TIFF_COMPR,             TIFF_SHORT,    1,      (uint16_t[]) {s->compr});
-    add_entry(s, TIFF_INVERT,            TIFF_SHORT,    1,      (uint16_t[]) {s->invert});
+    add_entry1(s,TIFF_COMPR,             TIFF_SHORT,            s->compr);
+    add_entry1(s,TIFF_INVERT,            TIFF_SHORT,            s->invert);
     add_entry(s, TIFF_STRIP_OFFS,        TIFF_LONG,     strips, strip_offsets);
 
     if (s->bpp_tab_size)
-    add_entry(s, TIFF_SAMPLES_PER_PIXEL, TIFF_SHORT,    1,      (uint16_t[]) {s->bpp_tab_size});
+    add_entry1(s,TIFF_SAMPLES_PER_PIXEL, TIFF_SHORT,            s->bpp_tab_size);
 
-    add_entry(s, TIFF_ROWSPERSTRIP,      TIFF_LONG,     1,      (uint32_t[]) {s->rps});
+    add_entry1(s,TIFF_ROWSPERSTRIP,      TIFF_LONG,             s->rps);
     add_entry(s, TIFF_STRIP_SIZE,        TIFF_LONG,     strips, strip_sizes);
     add_entry(s, TIFF_XRES,              TIFF_RATIONAL, 1,      res);
     add_entry(s, TIFF_YRES,              TIFF_RATIONAL, 1,      res);
-    add_entry(s, TIFF_RES_UNIT,          TIFF_SHORT,    1,      (uint16_t[]) {2});
+    add_entry1(s,TIFF_RES_UNIT,          TIFF_SHORT,            2);
     add_entry(s, TIFF_SOFTWARE_NAME,     TIFF_STRING,
               strlen(LIBAVCODEC_IDENT) + 1, LIBAVCODEC_IDENT);
 




More information about the ffmpeg-cvslog mailing list