Merge commit 'c011ceef78eae66039efc66d9551a7146e08838a'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 3 Jun 2013 09:53:05 +0000 (11:53 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 3 Jun 2013 09:53:05 +0000 (11:53 +0200)
* commit 'c011ceef78eae66039efc66d9551a7146e08838a':
  swscale: ppc: Remove commented-out define cruft
  nsvdec: Remove commented-out debug cruft
  cpu: Restructure code to avoid pointless ret variable indirection

Conflicts:
libavutil/cpu.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavformat/nsvdec.c
libavutil/cpu.c
libswscale/ppc/yuv2rgb_altivec.c

  #include "avformat.h"
  #include "internal.h"
  #include "libavutil/dict.h"
 +#include "libavutil/intreadwrite.h"
  
- //#define DEBUG_DUMP_INDEX // XXX dumbdriving-271.nsv breaks with it commented!!
- #define CHECK_SUBSEQUENT_NSVS
- //#define DISABLE_AUDIO
  /* max bytes to crawl for trying to resync
   * stupid streaming servers don't start at chunk boundaries...
   */
@@@ -370,28 -367,9 +366,9 @@@ static int nsv_parse_NSVf_header(AVForm
  
      av_dlog(s, "NSV got index; filepos %"PRId64"\n", avio_tell(pb));
  
- #ifdef DEBUG_DUMP_INDEX
- #define V(v) ((v<0x20 || v > 127)?'.':v)
-     /* dump index */
-     av_dlog(s, "NSV %d INDEX ENTRIES:\n", table_entries);
-     av_dlog(s, "NSV [dataoffset][fileoffset]\n", table_entries);
-     for (i = 0; i < table_entries; i++) {
-         unsigned char b[8];
-         avio_seek(pb, size + nsv->nsvs_file_offset[i], SEEK_SET);
-         avio_read(pb, b, 8);
-         av_dlog(s, "NSV [0x%08lx][0x%08lx]: %02x %02x %02x %02x %02x %02x %02x %02x"
-            "%c%c%c%c%c%c%c%c\n",
-            nsv->nsvs_file_offset[i], size + nsv->nsvs_file_offset[i],
-            b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7],
-            V(b[0]), V(b[1]), V(b[2]), V(b[3]), V(b[4]), V(b[5]), V(b[6]), V(b[7]) );
-     }
-     //avio_seek(pb, size, SEEK_SET); /* go back to end of header */
- #undef V
- #endif
      avio_seek(pb, nsv->base_offset + size, SEEK_SET); /* required for dumbdriving-271.nsv (2 extra bytes) */
  
 -    if (pb->eof_reached)
 +    if (url_feof(pb))
          return -1;
      nsv->state = NSV_HAS_READ_NSVF;
      return 0;
diff --cc libavutil/cpu.c
@@@ -133,74 -128,9 +133,74 @@@ int av_parse_cpu_flags(const char *s
      return flags & INT_MAX;
  }
  
 +int av_parse_cpu_caps(unsigned *flags, const char *s)
 +{
 +        static const AVOption cpuflags_opts[] = {
 +        { "flags"   , NULL, 0, AV_OPT_TYPE_FLAGS, { .i64 = 0 }, INT64_MIN, INT64_MAX, .unit = "flags" },
 +#if   ARCH_PPC
 +        { "altivec" , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ALTIVEC  },    .unit = "flags" },
 +#elif ARCH_X86
 +        { "mmx"     , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_MMX      },    .unit = "flags" },
 +        { "mmx2"    , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_MMX2     },    .unit = "flags" },
 +        { "mmxext"  , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_MMX2     },    .unit = "flags" },
 +        { "sse"     , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE      },    .unit = "flags" },
 +        { "sse2"    , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE2     },    .unit = "flags" },
 +        { "sse2slow", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE2SLOW },    .unit = "flags" },
 +        { "sse3"    , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE3     },    .unit = "flags" },
 +        { "sse3slow", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE3SLOW },    .unit = "flags" },
 +        { "ssse3"   , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSSE3    },    .unit = "flags" },
 +        { "atom"    , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ATOM     },    .unit = "flags" },
 +        { "sse4.1"  , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE4     },    .unit = "flags" },
 +        { "sse4.2"  , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_SSE42    },    .unit = "flags" },
 +        { "avx"     , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_AVX      },    .unit = "flags" },
 +        { "xop"     , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_XOP      },    .unit = "flags" },
 +        { "fma4"    , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_FMA4     },    .unit = "flags" },
 +        { "3dnow"   , NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_3DNOW    },    .unit = "flags" },
 +        { "3dnowext", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_3DNOWEXT },    .unit = "flags" },
 +        { "cmov",     NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_CMOV     },    .unit = "flags" },
 +
 +#define CPU_FLAG_P2 AV_CPU_FLAG_CMOV | AV_CPU_FLAG_MMX
 +#define CPU_FLAG_P3 CPU_FLAG_P2 | AV_CPU_FLAG_MMX2 | AV_CPU_FLAG_SSE
 +#define CPU_FLAG_P4 CPU_FLAG_P3| AV_CPU_FLAG_SSE2
 +        { "pentium2", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_P2          },    .unit = "flags" },
 +        { "pentium3", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_P3          },    .unit = "flags" },
 +        { "pentium4", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_P4          },    .unit = "flags" },
 +
 +#define CPU_FLAG_K62 AV_CPU_FLAG_MMX | AV_CPU_FLAG_3DNOW
 +#define CPU_FLAG_ATHLON   CPU_FLAG_K62 | AV_CPU_FLAG_CMOV | AV_CPU_FLAG_3DNOWEXT | AV_CPU_FLAG_MMX2
 +#define CPU_FLAG_ATHLONXP CPU_FLAG_ATHLON | AV_CPU_FLAG_SSE
 +#define CPU_FLAG_K8  CPU_FLAG_ATHLONXP | AV_CPU_FLAG_SSE2
 +        { "k6",       NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_MMX      },    .unit = "flags" },
 +        { "k62",      NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_K62         },    .unit = "flags" },
 +        { "athlon",   NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_ATHLON      },    .unit = "flags" },
 +        { "athlonxp", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_ATHLONXP    },    .unit = "flags" },
 +        { "k8",       NULL, 0, AV_OPT_TYPE_CONST, { .i64 = CPU_FLAG_K8          },    .unit = "flags" },
 +#elif ARCH_ARM
 +        { "armv5te",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ARMV5TE  },    .unit = "flags" },
 +        { "armv6",    NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ARMV6    },    .unit = "flags" },
 +        { "armv6t2",  NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_ARMV6T2  },    .unit = "flags" },
 +        { "vfp",      NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFP      },    .unit = "flags" },
 +        { "vfpv3",    NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_VFPV3    },    .unit = "flags" },
 +        { "neon",     NULL, 0, AV_OPT_TYPE_CONST, { .i64 = AV_CPU_FLAG_NEON     },    .unit = "flags" },
 +#endif
 +        { NULL },
 +    };
 +    static const AVClass class = {
 +        .class_name = "cpuflags",
 +        .item_name  = av_default_item_name,
 +        .option     = cpuflags_opts,
 +        .version    = LIBAVUTIL_VERSION_INT,
 +    };
 +    const AVClass *pclass = &class;
 +
 +    return av_opt_eval_flags(&pclass, &cpuflags_opts[0], s, flags);
 +}
 +
  int av_cpu_count(void)
  {
-     int ret, nb_cpus = 1;
 +    static volatile int printed;
 +
+     int nb_cpus = 1;
  #if HAVE_SCHED_GETAFFINITY && defined(CPU_COUNT)
      cpu_set_t cpuset;
  
Simple merge