VS2010编译VP8

在编译VP8的过程中遇到点问题,Windows编译个东西累死个人。

* /cyddrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin

*./vcvars32.bat amd64

源码使用这里的:http://code.google.com/p/webm/downloads/list

msys比较简单,可以按http://www.webmproject.org/code/build-prerequisites/这里的来,也直接使用svn检出这个,或者访问下载:

http://src.chromium.org/svn/trunk/deps/third_party/mingw

下载这个文件:mingw-get-inst-20101030.exe

安装的时候

在Repository Catalogues时选择:Download lastest repository catalogues

在Select Components时选择:C++ Compiler/MSYS Basic System之类

C:\MinGW\msys\1.0\msys.bat可以创建一个桌面快捷方式

C:\MinGW\msys\1.0\etc中的fstab中可以加入用户可以访问的文件系统。比如你的源代码在D:

可以增加

D:\ /src

记得yasm要在Microsoft VC目录中,比如C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin,这个路径也要加到PATH环境变量里。

配置64位vs10环境,不过脚本最高支持到vs9

./configure –target= x86_64-win64-vs9

$ ./configure --target=x86_64-win64-vs9
Configuring selected codecs
  enabling vp8_encoder
  enabling vp8_decoder
Configuring for target 'x86_64-win64-vs9'
  enabling x86_64
  enabling runtime_cpu_detect
  enabling mmx
  enabling sse
  enabling sse2
  enabling sse3
  enabling ssse3
  enabling sse4_1
  using yasm
  disabling ccache
  enabling postproc
Bypassing toolchain for environment detection.
Creating makefiles for x86_64-win64-vs9 libs
Creating makefiles for x86_64-win64-vs9 examples
Creating makefiles for x86_64-win64-vs9 docs
Creating makefiles for x86_64-win64-vs9 solution

在VS的vpx项目设置中yasm的包含路径我去掉了.才好用***。这个问题值得注意。
可以参考的信息:
./configure参数

Usage: configure [options]
Options:

Build options:
--help                      print this message
--log=yes|no|FILE           file configure log is written to [config.err]
--target=TARGET             target platform tuple [generic-gnu]
--cpu=CPU                   optimize for a specific cpu rather than a family
--extra-cflags=ECFLAGS      add ECFLAGS to CFLAGS []
--enable-extra-warnings     emit harmless warnings (always non-fatal)
--enable-werror             treat warnings as errors, if possible
(not available with all compilers)
--disable-optimizations     turn on/off compiler optimization flags
--enable-pic                turn on/off Position Independent Code
--enable-ccache             turn on/off compiler cache
--enable-debug              enable/disable debug mode
--enable-gprof              enable/disable gprof profiling instrumentation
--enable-gcov               enable/disable gcov coverage instrumentation

Install options:
--enable-install-docs       control whether docs are installed
--disable-install-bins      control whether binaries are installed
--disable-install-libs      control whether libraries are installed
--enable-install-srcs       control whether sources are installed

Advanced options:
--disable-libs                  don't build libraries
--disable-examples              don't build examples
--libc=PATH                     path to alternate libc
--as={yasm|nasm|auto}           use specified assembler [auto, yasm preferred]
--disable-fast-unaligned        don't use unaligned accesses, even when
supported by hardware [auto]
--enable-codec-srcs             in/exclude codec library source code
--enable-debug-libs             in/exclude debug version of libraries
--disable-md5                   support for output of checksum data
--enable-static-msvcrt          use static MSVCRT (VS builds only)
--enable-vp8                    VP8 codec support
--enable-internal-stats         output of encoder internal stats for debug, if supported (encoders)
--enable-mem-tracker            track memory usage
--enable-postproc               postprocessing
--disable-multithread           multithreaded encoding and decoding.
--disable-spatial-resampling    spatial sampling (scaling) support
--enable-realtime-only          enable this option while building for real-time encoding
--enable-error-concealment      enable this option to get a decoder which is able to conceal losses
--enable-runtime-cpu-detect     runtime cpu detection
--enable-shared                 shared library support
--disable-static                static library support
--enable-small                  favor smaller size over speed
--enable-postproc-visualizer    macro block / block level visualizers

Codecs:
Codecs can be selectively enabled or disabled individually, or by family:
--disable-<codec>
is equivalent to:
--disable-<codec>-encoder
--disable-<codec>-decoder

Codecs available in this distribution:
vp8:    encoder    decoder

NOTES:
Object files are built at the place where configure is launched.

All boolean options can be negated. The default value is the opposite
of that shown above. If the option --disable-foo is listed, then
the default value for foo is enabled.

Supported targets:
armv5te-linux-rvct       armv5te-linux-gcc        armv5te-none-rvct
armv5te-symbian-gcc
armv6-darwin-gcc         armv6-linux-rvct         armv6-linux-gcc
armv6-none-rvct          armv6-symbian-gcc
iwmmxt-linux-rvct        iwmmxt-linux-gcc
iwmmxt2-linux-rvct       iwmmxt2-linux-gcc
armv7-darwin-gcc         armv7-linux-rvct         armv7-linux-gcc
armv7-none-rvct
mips32-linux-gcc
ppc32-darwin8-gcc        ppc32-darwin9-gcc        ppc32-linux-gcc
ppc64-darwin8-gcc        ppc64-darwin9-gcc        ppc64-linux-gcc
sparc-solaris-gcc
x86-darwin8-gcc          x86-darwin8-icc          x86-darwin9-gcc
x86-darwin9-icc          x86-linux-gcc            x86-linux-icc
x86-solaris-gcc          x86-win32-gcc            x86-win32-vs7
x86-win32-vs8            x86-win32-vs9
x86_64-darwin9-gcc       x86_64-darwin10-gcc      x86_64-linux-gcc
x86_64-linux-icc         x86_64-solaris-gcc       x86_64-win64-vs8
x86_64-win64-vs9
universal-darwin8-gcc    universal-darwin9-gcc
generic-gnu

终于搞定了。需要将vpx项目中yasm的include设置,从.;..\src直接修改成一个路径,可以是绝对路径或者直接使用..\src。.不需要特别指出。

 

参考:

1. vs2010编译vp8

2. VP8视频格式初探

3. WebM Source Code

4.WebM downloads list

5.YASM

6. Using MSYS

7. depot_tools

8. msys-cn

9. MSYS wiki

10. MSys的安装和使用

11. 直接下载MSYS

12. http://www.optimasc.com/products/dex/index.html

13. http://www.ioncannon.net/meta/1128/compiling-webm-ffmpeg-windows/

14. http://videojs.com/

15. http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC#Software_encoder_feature_comparison

16. http://alex.jurkiewi.cz/blog/2010/cross-compiling-x264-for-win32-on-ubuntu-linux

17. http://micksam7.com/blog/2010/webm-ffmpeg-win32-build/

18. http://code.google.com/p/gwd/source/browse/trunk/third_party_mods/libvpx/source/config/mac/x64/vpx_config.asm?r=9

19. http://x264.fushizen.eu/

20. http://doom10.org/index.php?topic=3.0

21. http://www.videolan.org/developers/x264.html

22.http://bbs.chinavideo.org/viewthread.php?tid=6945&highlight=VS2008

23. https://wiki.mozilla.org/WebM/Updating_libvpx

24.

 

 

 

 

带壳小乌龟-Tortoise系版本管理客户端

TortoiseSVN

http://tortoisesvn.net/

TortoiseCVS

http://www.tortoisecvs.org/download.shtml

http://sourceforge.net/projects/tortoisecvs/

Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update

http://www.microsoft.com/downloads/en/details.aspx?familyid=766a6af7-ec73-40ff-b072-9112bab119c2&displaylang=en#filelist”

TortoiseGit

http://code.google.com/p/msysgit/

http://code.google.com/p/tortoisegit/

TortoiseHg

http://tortoisehg.bitbucket.org/

如何查询域名的mx记录

终于把新公司的邮件拽入云端。公司自己维护邮件服务器不说痛苦也差不离。所以他们还是欣然接受的。

在新地址启用之前,验证mx记录比较麻烦。于是想查DNS的同步情况。Google得来最常见的解答是:

nslookup
> set type=mx
> 域名
给出结果

通过man nslookup,发现可以直接一条命令解决:
nslookup -query=mx 域名

这样就可以用php或者python之类的后台解析结果了。

经过验证,nslookup -query=mx 域名,可以在Linux和Windows下正确执行。

参考:
1. 如何查询一个域名的MX记录?
2. 如何查询域名的mx记录

VirtualBox之guest os访问shared folder

这两天在搭建工作环境,主环境还是Ubuntu+虚拟机。有用到共享目录,经验记录一下。说点题外话,现在用个破键盘,名为Super上普,手感倒是还可以,但是键位安排让人比较痛苦。

1. \键下移到Enter键旁边,导致我小指回车的时候经常误操作。

2. Home End一组6个键的安排大异常类。每次按都要想一下。

[Home] [End]

[Insert] [PageUp]

[Delete][PageDown]

对于这种设计,如果是新标准的话不知是如何考虑兼容性的,如果是他们自己的考虑则让人十分无语。

言归正传。

服务器端的设置无比简单,只需要在virtualbox的虚拟主机里指定Shared Folders就可以了。可读可写、只读是可以指定的。

* 客户机是Linux

比如Ubuntu。安装Virtualbox的增强组件之后会多出/sbin/mount.vboxsf指令。可以用此指令加载或者在/etc/fstab中自动加载。

sudo mount -t vboxsf <shared folder name> /path/to

<shared folder name>是在virtualbox设置中指定的共享目录。

/path/to是要装载的目录。

如果想每次自动装载,可以在/etc/fstab中指定。比如在/etc/fstab中增加以下内容:

<shared folder name>    /path/to    vboxsf  defaults     0       0

重新启动,即可生效。
* 客户机是Windows
这种情况下使用起来比较容易:\\VBOXSVR\就可以访问到了。比如:

CollabNet Subversion-server-1.5.0在windows下的安装配置的注意事项

CollabNet Subversion-server-1.5.0在windows下的安装配置的注意事项
http://www.subversion.org.cn/?action-viewnews-itemid-62

phpSvnMan 0.1版,实现Web管理SVN用户注册、注销、审核、修改密码
http://www.subversion.org.cn/bbs/viewthread.php?tid=416

使用Subversion进行版本控制
http://www.subversion.org.cn/svnbook/

如何查到一个域名对应的所有IP

如何查到一个域名对应的所有IP?

Ubuntu:
ou@ou-desktop:~$ nslookup www.google.com
Server: 202.96.64.68
Address: 202.96.64.68#53

Non-authoritative answer:
www.google.com canonical name = www.l.google.com.
Name: www.l.google.com
Address: 64.233.189.104
Name: www.l.google.com
Address: 64.233.189.103
Name: www.l.google.com
Address: 64.233.189.147
Name: www.l.google.com
Address: 64.233.189.99

ou@ou-desktop:~$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 64.233.189.147
www.l.google.com has address 64.233.189.103
www.l.google.com has address 64.233.189.104
www.l.google.com has address 64.233.189.99

ou@ou-desktop:~$ host google.com
google.com has address 64.233.189.103
google.com has address 64.233.189.99
google.com has address 64.233.189.147
google.com has address 64.233.189.104
google.com mail is handled by 300 google.com.s9b1.psmtp.com.
google.com mail is handled by 200 google.com.s9a2.psmtp.com.
google.com mail is handled by 100 google.com.s9a1.psmtp.com.
google.com mail is handled by 400 google.com.s9b2.psmtp.com.

Windows:
C:\>nslookup
*** Can’t find server name for address 202.96.69.38: Server failed
DNS request timed out.
timeout was 2 seconds.
*** Can’t find server name for address 4.3.2.1: Timed out
*** Default servers are not available
Default Server: UnKnown
Address: 202.96.69.38

> www.google.com
Server: UnKnown
Address: 202.96.69.38

Non-authoritative answer:
Name: www.l.google.com
Addresses: 64.233.189.147, 64.233.189.99, 64.233.189.104, 64.233.189.103
Aliases: www.google.com