在vs2008下使用ffmpeg(2):readtime的问题

 

快乐虾

http://blog.csdn.net/lights_joy/

lights@hb165.com

   

本文适用于

ffmpeg-checkout-20081210

vs2008

Windows XP

 

欢迎转载,但请保留作者信息

 

 

libavutil/common.h(330)文件中定义了一个readtime函数:

static inline uint64_t read_time(void)

{

    uint32_t a, d;

    __asm__ volatile("rdtsc/n/t"

                 : "=a" (a), "=d" (d));

    return ((uint64_t)d << 32) + a;

}

因为它使用的是gcc语法的嵌入汇编,故此需要进行修改。

Vs2008提供了一个叫__rdtsc()的函数,MSDN这样解释:

Generates the rdtsc instruction, which returns the processor time stamp. The processor time stamp records the number of clock cycles since the last reset.

unsigned __int64 __rdtsc();

它的返回值:

A 64-bit unsigned integer representing a tick count.

因此这个函数可以修改为:

#include <intrin.h>

#pragma intrinsic(__rdtsc)

static inline uint64_t read_time(void)

{

    return __rdtsc();

}

 

 

参考资料

vs2008下使用ffmpeg1):inttypes.h的问题( 2008-12-11 )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌云阁主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值