Browse Source

cpu: add av_set_cpu_flags_mask().

tags/n0.11
Anton Khirnov 14 years ago
parent
commit
4d851f8dcf
4 changed files with 23 additions and 2 deletions
  1. +3
    -0
      doc/APIchanges
  2. +1
    -1
      libavutil/avutil.h
  3. +11
    -1
      libavutil/cpu.c
  4. +8
    -0
      libavutil/cpu.h

+ 3
- 0
doc/APIchanges View File

@@ -12,6 +12,9 @@ libavutil: 2011-04-18

API changes, most recent first:

2012-03-xx - xxxxxxx - lavu 51.25.0 - cpu.h
Add av_set_cpu_flags_mask().

2012-xx-xx - lavc 54.8.0
xxxxxxx Add av_get_exact_bits_per_sample()
xxxxxxx Add av_get_audio_frame_duration()


+ 1
- 1
libavutil/avutil.h View File

@@ -152,7 +152,7 @@
*/

#define LIBAVUTIL_VERSION_MAJOR 51
#define LIBAVUTIL_VERSION_MINOR 24
#define LIBAVUTIL_VERSION_MINOR 25
#define LIBAVUTIL_VERSION_MICRO 0

#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \


+ 11
- 1
libavutil/cpu.c View File

@@ -19,9 +19,11 @@
#include "cpu.h"
#include "config.h"

static int cpuflags_mask, checked;

int av_get_cpu_flags(void)
{
static int flags, checked;
static int flags;

if (checked)
return flags;
@@ -30,10 +32,18 @@ int av_get_cpu_flags(void)
if (ARCH_PPC) flags = ff_get_cpu_flags_ppc();
if (ARCH_X86) flags = ff_get_cpu_flags_x86();

flags &= cpuflags_mask;
checked = 1;

return flags;
}

void av_set_cpu_flags_mask(int mask)
{
cpuflags_mask = mask;
checked = 0;
}

#ifdef TEST

#undef printf


+ 8
- 0
libavutil/cpu.h View File

@@ -48,6 +48,14 @@
*/
int av_get_cpu_flags(void);

/**
* Set a mask on flags returned by av_get_cpu_flags().
* This function is mainly useful for testing.
*
* @warning this function is not thread safe.
*/
void av_set_cpu_flags_mask(int mask);

/* The following CPU-specific functions shall not be called directly. */
int ff_get_cpu_flags_arm(void);
int ff_get_cpu_flags_ppc(void);


Loading…
Cancel
Save