Bootstrap

Arch Linux下 让MPlayer用上CoreAVC1.7.0.0解码器

今天终于在Linux下也用上CoreAVC1.7.0.0了Happy,
顺便记录个mp3播放器moc及tag修改工具easytag,mid3iconv(mutagen包中)
PKGBUILD文件如下(makepkg -s)
# Mplayer - svn - coreavc
# mplayer
- svn patched with support  for  coreavc
# Modified :
# Original PKGBUILD by below
-----
# Maintainer: Tom Killian 
< [email protected] >
# Contributor: lucke 
< lucke at o2 dot pl >

pkgname
= mplayer - svn - coreavc
pkgver
= 27046
pkgrel
= 1
pkgdesc
= " A movie player for linux "
depends
= ( ' libmad '   ' libungif '   ' cdparanoia '   ' gtk2 '   ' sdl '   ' xvidcore '
         
' lame '   ' libtheora '   ' faac '   ' libxxf86dga '   ' libxv '   ' libgl '
         
' smbclient '   ' aalib '   ' lirc-utils '   ' x264>=20071202-1 '
         
' jack-audio-connection-kit ' )
makedepends
= ( ' subversion '   ' pkgconfig '   ' libcaca '   ' unzip '   ' live-media '   ' libdts ' )
source
= (Blue - 1.7 .tar.bz2) 
conflicts
= ( ' mplayer ' )
provides
= ( ' mplayer ' )
url
= " http://www.mplayerhq.hu/ "
license
= " GPL "
arch
= ( ' i686 '   ' x86_64 ' )

_svntrunk
= svn: // svn.mplayerhq.hu/mplayer/trunk
_svnmod = mplayer

_coreavctrunk
= http: // coreavc-for-linux.googlecode.com/svn/trunk
_coremod = coreavc - for - linux

build() 
{
  cd $startdir
/src

  svn co $_svntrunk $_svnmod 
--config-dir ./ -r $pkgver
    
  cp 
-r $_svnmod $_svnmod-build
  cd $_svnmod
-build
  
  unset CFLAGS

  .
/configure --prefix=/usr --confdir=/etc/mplayer --with-extraincdir=/usr/lib/live-media \
  
--enable-gui --enable-runtime-cpudetection --enable-largefiles --enable-menu \
  
--enable-x11 --enable-gl --language=all \
  
--disable-libdv --disable-liblzo --disable-speex --disable-fribidi --disable-arts \
  
--disable-dvdnav --disable-openal --disable-musepack --disable-esd --disable-mga
  
  [ 
"$CARCH" = "i686" ] &&  sed 's|-march=i486|-march=i686|g' -i config.mak
# Lines 
for coreavc-for-linux
  cd $startdir
/src
  svn co $_coreavctrunk $_coremod
  cp 
-r $_coremod $_coremod-copy
  cd $_coremod
-copy
  make 
-C dshowserver
  mkdir 
-p $startdir/pkg/usr/local/bin
  cp dshowserver
/dshowserver $startdir/pkg/usr/local/bin
  cp loader
/registercodec $startdir/pkg/usr/local/bin
  cd $startdir
/src/$_svnmod-build
  patch 
-p0 < $startdir/src/$_coremod-copy/mplayer/dshowserver.patch
# End of lines 
for coreavc-for-linux

  make 
|| return 1
  make DESTDIR
=$startdir/pkg install || return 1
  cp etc
/{codecs.conf,input.conf,example.conf} $startdir/pkg/etc/mplayer
  ln 
-/usr/share/fonts/TTF/Vera.ttf $startdir/pkg/usr/share/mplayer/subfont.ttf
  rm 
-rf $startdir/pkg/usr/share/mplayer/font
  mv $startdir
/src/Blue $startdir/pkg/usr/share/mplayer/skins/default
  
  rm 
-rf ../$_svnmod-build
}

md5sums
= ( ' e4e2020d11b681aac898103b3ba723c4 ' )
安装打好的包,sudo pacman -U mplayer-svn-coreavc-27046-1-i686.pkg.tar.gz
把CoreAVCDecoder.ax放到/usr/lib/win32下面,其他目录貌似不起作用
在.xprofile加入
export PATH=$PATH:/usr/local/bin
export REGISTRY=$HOME/.mplayer/registry32

设置codecs.conf
  • 如果没有~/.mplayer/codecs.conf
mkdir ~/.mplayer

 cp <path to mplayer source>/
etc/codecs.conf ~/.mplayer/
把下面这段加入到此文件末尾~/.mplayer/codecs.conf
videocodec coreserve
  info 
" CoreAVC DShow H264 decoder 1.3 for x86 - http://corecodec.org/ "
  status working
  format 
0x10000005
  fourcc H264,h264 H264
  fourcc X264,x264
  fourcc avc1,AVC1 AVC1
  fourcc davc,DAVC
  fourcc VSSH
  driver dshowserver
  dll 
" CoreAVCDecoder.ax "
  guid 
0x09571a4b 0xf1fe 0x4c60 0x97 0x60 0xde 0x6d 0x31 0x0c 0x7c 0x31
  
out  YV12,IYUV,I420,YUY2
注册CoreAVC
官方说明是mplayer下
export REGISTRY = $HOME /. mplayer /registry
但是在我这儿有问题,真正起作用的是
export REGISTRY=$HOME/.mplayer/registry32
registercodec -r $REGISTRY -k "HKLM\\Software\\CoreCodec\\CoreAVC Pro\\Serial" -v "55555-55555-CORE-55555-55555"
PS:55555-55555-CORE-55555-55555 替换成真实的注册码

然后(未经测试,不知道在Linux下会有什么作用- - 我用了也没什么感觉)
registercodec -r $REGISTRY -k "HKLM\\Software\\IniFileMapping\\CoreAVC\\Settings\\C:\\coreavc.ini" -v "ilevels=2 olevels=2 di=3 deblock=7 ai=0 crop1088=0 vmr_ar=0"

用gmplayer -vc coreserve开启mplayer 完毕~

PS:

官方网站:http://code.google.com/p/coreavc-for-linux/


Deinterlacing:
key: di
3  : None
4  : Blend
5  : Bob
6  : Hardware

Aggressive Deinterlacing:
key: ai
0  : Off
1  : On

Crop 
1088  to  1080 :
key: crop1088
0  : Off
1  : On

Deblocking:
key: deblock
7  : Standard
8  : Skip when safe
9  : Skip always

Force VMR AR Correction:
key: vmr_ar
0  : Off
1  : On

For 
1.5 . 0  and previous:

Deinterlacing:
0  : Software deinterlacing
1  : Software  double  frame rate
2  : DirectShow deinterlacing
3  : No deinterlacing
registercodec 
- r $REGISTRY  - " HKEY_CURRENT_USER\\Software\\CoreCodec\\CoreAVC Pro\\Deinterlace "   - < value >   - t  dword

Aggressive Deinterlacing:
0  : Off
1  : On
registercodec 
- r $REGISTRY  - " HKEY_CURRENT_USER\\Software\\CoreCodec\\CoreAVC Pro\\AggressiveDeinterlace "   - < value >   - t  dword

Crop 
1088  to  1080 :
0  : Off
1  : On
registercodec 
- r $REGISTRY  - " HKEY_CURRENT_USER\\Software\\CoreCodec\\CoreAVC Pro\\Crop1080 "   - < value >   - t  dword

Deblocking:
0  : Standard deblocking
1  : Skip b - frame deblocking
2  : Skip all deblocking
registercodec 
- r $REGISTRY  - " HKEY_CURRENT_USER\\Software\\CoreCodec\\CoreAVC Pro\\Deblocking "   - < value >   - t  dword

Force VMR AR Correction:
0  : Off
1  : On
registercodec 
- r $REGISTRY  - " HKEY_CURRENT_USER\\Software\\CoreCodec\\CoreAVC Pro\\ForceVMRAR "   - < value >   - t  dword
;