提交 4d851f8d 编写于 作者: A Anton Khirnov

cpu: add av_set_cpu_flags_mask().

上级 338978a7
......@@ -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()
......
......@@ -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, \
......
......@@ -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
......
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册