Merge remote-tracking branch 'qatar/master'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 15 Jan 2012 00:07:00 +0000 (01:07 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 15 Jan 2012 00:16:54 +0000 (01:16 +0100)
* qatar/master:
  sgidec: Use bytestream2 functions to prevent buffer overreads.
  cosmetics: Move static and inline attributes to more standard places.
  configure: provide libavfilter/version.h header to get_version()
  swscale: change yuv2yuvX code to use cpuflag().
  libx264: Don't leave max_b_frames as -1 if the user didn't set it
  FATE: convert output to rgba for the targa tests which currently output pal8
  fate: add missing reference files for targa tests in 9c2f9b0e2
  FATE: enable the 2 remaining targa conformance suite tests
  targa: add support for rgb555 palette
  FATE: fix targa tests on big-endian systems

Conflicts:
libavcodec/sgidec.c
libavcodec/targa.c
libswscale/x86/output.asm
tests/fate/image.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
12 files changed:
1  2 
libavcodec/bytestream.h
libavcodec/g722.c
libavcodec/h264_loopfilter.c
libavcodec/libx264.c
libavcodec/sgidec.c
libavcodec/targa.c
libavfilter/vf_fade.c
libswscale/utils.c
libswscale/x86/output.asm
tests/fate/image.mak
tests/ref/fate/targa-conformance-CCM8
tests/ref/fate/targa-conformance-UCM8

Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -193,9 -192,26 +197,26 @@@ static int decode_frame(AVCodecContext 
              buf += pal_size;
          else{
              int t;
-             int32_t *pal = ((int32_t*)p->data[1]) + first_clr;
-             for(t = 0; t < colors; t++){
-                 *pal++ = (0xff<<24) | bytestream_get_le24(&buf);
+             uint32_t *pal = ((uint32_t *)p->data[1]) + first_clr;
+             switch (pal_sample_size) {
+             case 3:
+                 /* RGB24 */
+                 for (t = 0; t < colors; t++)
 -                    *pal++ = bytestream_get_le24(&buf);
++                    *pal++ = (0xffU<<24) | bytestream_get_le24(&buf);
+                 break;
+             case 2:
+                 /* RGB555 */
+                 for (t = 0; t < colors; t++) {
+                     uint32_t v = bytestream_get_le16(&buf);
+                     v = ((v & 0x7C00) <<  9) |
+                         ((v & 0x03E0) <<  6) |
+                         ((v & 0x001F) <<  3);
+                     /* left bit replication */
+                     v |= (v & 0xE0E0E0U) >> 5;
 -                    *pal++ = v;
++                    *pal++ = (0xffU<<24) | v;
+                 }
+                 break;
              }
              p->palette_has_changed = 1;
          }
Simple merge
Simple merge
@@@ -248,29 -246,28 +246,30 @@@ cglobal yuv2planeX_%1, %3, 7, %
  
  %define PALIGNR PALIGNR_MMX
  %ifdef ARCH_X86_32
- INIT_MMX
- yuv2planeX_fn mmx2,  8,  0, 7
- yuv2planeX_fn mmx2,  9,  0, 5
- yuv2planeX_fn mmx2, 10,  0, 5
+ INIT_MMX mmx2
+ yuv2planeX_fn  8,  0, 7
+ yuv2planeX_fn  9,  0, 5
+ yuv2planeX_fn 10,  0, 5
  %endif
  
- INIT_XMM
- yuv2planeX_fn sse2,  8, 10, 7
- yuv2planeX_fn sse2,  9,  7, 5
- yuv2planeX_fn sse2, 10,  7, 5
+ INIT_XMM sse2
+ yuv2planeX_fn  8, 10, 7
+ yuv2planeX_fn  9,  7, 5
+ yuv2planeX_fn 10,  7, 5
  
  %define PALIGNR PALIGNR_SSSE3
- yuv2planeX_fn sse4,  8, 10, 7
- yuv2planeX_fn sse4,  9,  7, 5
- yuv2planeX_fn sse4, 10,  7, 5
- yuv2planeX_fn sse4, 16,  8, 5
+ INIT_XMM sse4
+ yuv2planeX_fn  8, 10, 7
+ yuv2planeX_fn  9,  7, 5
+ yuv2planeX_fn 10,  7, 5
+ yuv2planeX_fn 16,  8, 5
  
- INIT_AVX
- yuv2planeX_fn avx,   8, 10, 7
- yuv2planeX_fn avx,   9,  7, 5
- yuv2planeX_fn avx,  10,  7, 5
 +%ifdef HAVE_AVX
+ INIT_XMM avx
+ yuv2planeX_fn  8, 10, 7
+ yuv2planeX_fn  9,  7, 5
+ yuv2planeX_fn 10,  7, 5
 +%endif
  
  ; %1=outout-bpc, %2=alignment (u/a)
  %macro yuv2plane1_mainloop 2
@@@ -1,39 -1,38 +1,40 @@@
 -FATE_TESTS += fate-dpx
 +FATE_IMAGE += fate-dpx
  fate-dpx: CMD = framecrc -i $(SAMPLES)/dpx/lighthouse_rgb48.dpx
  
 -FATE_TESTS += fate-fax-g3
 +FATE_IMAGE += fate-fax-g3
  fate-fax-g3: CMD = framecrc -i $(SAMPLES)/CCITT_fax/G31D.TIF
  
 -FATE_TESTS += fate-fax-g3s
 +FATE_IMAGE += fate-fax-g3s
  fate-fax-g3s: CMD = framecrc -i $(SAMPLES)/CCITT_fax/G31DS.TIF
  
 -FATE_TESTS += fate-pictor
 +FATE_IMAGE += fate-pictor
  fate-pictor: CMD = framecrc -i $(SAMPLES)/pictor/MFISH.PIC -pix_fmt rgb24
  
 -FATE_TESTS += fate-ptx
 +FATE_IMAGE += fate-ptx
  fate-ptx: CMD = framecrc -i $(SAMPLES)/ptx/_113kw_pic.ptx -pix_fmt rgb24
  
 -FATE_TESTS += fate-sunraster-1bit-raw
 +FATE_IMAGE += fate-sunraster-1bit-raw
  fate-sunraster-1bit-raw: CMD = framecrc -i $(SAMPLES)/sunraster/lena-1bit-raw.sun
  
 -FATE_TESTS += fate-sunraster-1bit-rle
 +FATE_IMAGE += fate-sunraster-1bit-rle
  fate-sunraster-1bit-rle: CMD = framecrc -i $(SAMPLES)/sunraster/lena-1bit-rle.sun
  
 -FATE_TESTS += fate-sunraster-8bit-raw
 +FATE_IMAGE += fate-sunraster-8bit-raw
  fate-sunraster-8bit-raw: CMD = framecrc -i $(SAMPLES)/sunraster/lena-8bit-raw.sun -pix_fmt rgb24
  
 -FATE_TESTS += fate-sunraster-8bit-rle
 +FATE_IMAGE += fate-sunraster-8bit-rle
  fate-sunraster-8bit-rle: CMD = framecrc -i $(SAMPLES)/sunraster/lena-8bit-rle.sun -pix_fmt rgb24
  
 -FATE_TESTS += fate-sunraster-24bit-raw
 +FATE_IMAGE += fate-sunraster-24bit-raw
  fate-sunraster-24bit-raw: CMD = framecrc -i $(SAMPLES)/sunraster/lena-24bit-raw.sun
  
 -FATE_TESTS += fate-sunraster-24bit-rle
 +FATE_IMAGE += fate-sunraster-24bit-rle
  fate-sunraster-24bit-rle: CMD = framecrc -i $(SAMPLES)/sunraster/lena-24bit-rle.sun
 +FATE_TESTS += $(FATE_IMAGE)
 +fate-image: $(FATE_IMAGE)
  
  FATE_TARGA = CBW8       \
+              CCM8       \
               CTC16      \
               CTC24      \
               CTC32      \
index 0000000,acc3068..92f105e
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,1 +1,1 @@@
 -0, 0, 65536, 0xcf98bc29
++0, 0, 65536, 0x47e97fe9
index 0000000,acc3068..92f105e
mode 000000,100644..100644
--- /dev/null
@@@ -1,0 -1,1 +1,1 @@@
 -0, 0, 65536, 0xcf98bc29
++0, 0, 65536, 0x47e97fe9